git을 사용하는 시스템에서는 로그를 확인할 일이 많다.
수많은 git log
옵션중에서 자주 사용할 법한 것들을 살펴보자.
command line 사용을 기준으로 한다.
$ git log
최신순으로 commit history를 볼 수 있다.
git 작업할 때 계속 치게될 명령
$ git log <path>
전체가 아니라 특정 폴더의 commit만 볼려면 path
를 설정하면 된다.
$ git log ./my_folder
my_folder
랑 하위에 포함된 파일의 commit만 보여준다.
$ git log .
보통 .
을 입력해 현재 폴더 기준으로 확인할 때가 많다.
$ git log <filename>
파일
을 설정하면 파일의 변경이 있었던 commit만 볼 수 있다.
특정 파일의 변경 히스토리를 추적할 때 유용하다.
예)
$ git log README.md
$ git log <branch-name>
현재 브랜치가 아니라 다른 브랜치의 로그를 확인해야 한다면 다른 브랜치 이름
을 설정해주면 된다.
브랜치간 비교나, cherry-pick 할 때 유용하다.
예)
$ git log other-branch
$ git log -p
-p
옵션을 주면 변경한 내용과 같이 나온다.
전체 commit을 펼치고 특정 키워드로 히스토리를 추적하고 싶을 때 유용하다.
$ git log -p README.md
특정 파일로 대상을 좁힐 수 있다.
$ git log --oneline
--oneline
옵션을 쓰면 commit을 한 줄로 볼 수 있다.
한 화면에서 많은 양을 볼 수 있으므로 흐름을 파악하기 좋다.
$ git log --name-only
--name-only
옵션을 추가하면 기본표시 + 변경한 파일 목록을 보여준다.
변경 내용보다 어떤 파일을 수정했는지 보고 싶을 때 사용하면 된다.
$ git log --author=<name>
--author
옵션으로 저자를 설정해주면 저자의 commit만 보여준다.
내 이름 넣고 조회할 때가 있다. (월간업무 확인할 때 쓰면 좋다...)
$ git log --graph
--graph
옵션은 branch merge history 그래프와 같이 commit을 보여준다.
머지 흐름과 같이 확인할 때 유용하다.
$ git log --oneline --graph
특히 --oneline
옵션이랑 궁합이 좋다.
$ git log my-branch..your-branch
내브랜치..네브랜치
옵션을 설정하면 내브랜치에는 없지만 네브랜치에는 있는 commit 목록을 보여준다.
두 브랜치에 공통으로 있는 commit은 생략된다.
브랜치 작업전에 커밋을 확인할 때 유용하다.
내브랜치, 네브랜치라고 했지만... 어떤 브랜치던 두 브랜치간 커밋 차이를 표시할 뿐이다.
커밋 차집합이라고 볼 수 있다.
$ git log your-branch..my-branch
이 경우엔 네브랜치에는 없고 내브랜치에는 있는 목록을 보여준다.
$ git log ..your-branch
내브랜치인 현재 브랜치는 생략할 수 있다. == $ git log my-branch..your-branch
점이 두 개인걸 잊지말자.
$ git log my-branch...other-branch
...
을 사용했다.
이러면 두 브랜치에서 서로 없는 commit을 전부 보여준다.
점이 세 개인걸 잊지말자.