[깃허브(Github)] 14. 커밋 히스토리 조회하기

Github 사용법 2016. 8. 11. 18:38

728x90
반응형

1. 깃은 커밋의 이력을 열람할 수 있습니다.

git log 를 사용하면 다음과 같은 내용을 확인할 수 있습니다.

첫번째로 여태까지 커밋했던 이력들이 쭉 나오네요. 자세히 보면 최근에 커밋한게 가장 위쪽으로 정렬되서 출력됩니다.

두번째로는 commit 21b99b~~~~~~~ 이런게 노란색 글씨로 보이는데 이건 커밋의 SHA-1 체크섬 이라고 부르나봅니다. 정확한 의미는 모르겠지만 커밋의 고유한 이름같네요.

세번째는 Author 이건 깃을 처음 설치하고 가장 맨 처음해 해야하는 설정중에 유저이름과 유저이메일 설정을 하는 부분이 있었죠. 글로발 옵션을 붙혀서 입력해준 기억이 있습니다. 그래서 어떠한 프로젝트에 커밋하더라도 이 정보가 들어갑니다.

네번째는 Date 이건 커밋한 날짜와 시간을 알려주네요.

다섯번째는 커밋 메시지 입니다. 커밋을 할때 git commit -m "커밋_메시지_입력" 이런 부분이 있었는데요. 그 커밋 메시지가 출력되네요.








2. git log 명령어에도 옵션을 붙힐 수 있습니다. 하나씩 해보겠습니다.

git log -p -2

여기서 -p는 각 커밋의 diff 결과를 보여줍니다.

-2 는 최근 두개의 결과만를 보여줍니다.

이렇게 직접 보니 무엇이 바뀌였고 어떤 작업을 했고 그걸 언제 했는지 파악됩니다








3. git log 옵션중에 각 커밋의 통계 정보를 조회하는 옵션이 있습니다.

git log --stat

다음 스크린샷을 보면 제가 연한 파란색 선으로 통계 정보가 출력되는 부분을 표시했는데요

file changed. 는 삭제되거나 수정되거나 새로 만들어진 '파일'에 대한 갯수를,

insertions 는 추가된 '행(Line)' 의 갯수를,

deleteions 는 삭제된 '행(Line)' 의 갯수를 나타냅니다.

파일을 지웠는데 왜 deleteions의 갯수가 올라가지 않느냐 의아해 했다가 검색해보니.

정확히는 수정한 코드의 라인을 의미하는거라고 하네요.

http://stackoverflow.com/questions/9013786/what-are-insertions-deletions-in-git








4. --pretty 옵션은 히스토리 내용을 보여줄 때 기본 형식 이외에 여러가지 중 하나를 선택할 수 있습니다.

이 중 oneline 옵션은 각 커밋을 한 라인으로 보여 줍니다. 이 옵션은 많은 커밋을 한 번에 조회할 때 유용합니다.








5. pretty 옵션에서 --format 옵션값을 붙히면 또 나름 굉장히 알아보기 쉬운 나만의 포맷 결과를 출력할 수 있습니다.

git log --pretty=format에 쓸 수 있는 몇 가지 유용한 옵션

옵션설명

%H

커밋 해시

%h

짧은 길이 커밋 해시

%T

트리 해시

%t

짧은 길이 트리 해시

%P

부모 해시

%p

짧은 길이 부모 해시

%an

저자 이름

%ae

저자 메일

%ad

저자 시각 (형식은 –date= 옵션 참고)

%ar

저자 상대적 시각

%cn

커미터 이름

%ce

커미터 메일

%cd

커미터 시각

%cr

커미터 상대적 시각

%s

요약








6. oneline와 format는 --graph 옵션과 함꼐 사용하면 조금 더 깔끔한 결과를 보여줄 수 있습니다.

git log의 주요 옵션

옵션설명

-p

각 커밋에 적용된 패치를 보여준다.

--stat

각 커밋에서 수정된 파일의 통계정보를 보여준다.

--shortstat

--stat 명령의 결과 중에서 수정한 파일, 추가된 라인, 삭제된 라인만 보여준다.

--name-only

커밋 정보중에서 수정된 파일의 목록만 보여준다.

--name-status

수정된 파일의 목록을 보여줄 뿐만 아니라 파일을 추가한 것인지, 수정한 것인지, 삭제한 것인지도 보여준다.

--abbrev-commit

40자 짜리 SHA-1 체크섬을 전부 보여주는 것이 아니라 처음 몇 자만 보여준다.

--relative-date

정확한 시간을 보여주는 것이 아니라 “2 weeks ago”처럼 상대적인 형식으로 보여준다.

--graph

브랜치와 머지 히스토리 정보까지 아스키 그래프로 보여준다.

--pretty

지정한 형식으로 보여준다. 이 옵션에는 oneline, short, full, fuller, format이 있다. format은 원하는 형식으로 출력하고자 할 때 사용한다.









7. git log 명령엔 조회 범위를 제한하는 옵션도 있습니다.

2번에서 봤었고, --since나 --until 같은 시간을 기준으로 조회하는 옵션도 있습니다.

git log --since=2.weeks

정확히 2주까지의 내용이 출력되었다. (보다보니 얼마나 포스팅을 안했기에 여태 여기인지 잘 느껴진다.)









8. 아주 유용한 옵션으로 -S 가 있습니다. 이건 코드에서 추가되거나 제거된 내용 중에 특정 텍스트가 포함되어 있는지를 검색합니다.


 





커밋 히스토리 조회하기

반응형