우리는 커밋 히스토리를 git history
를 이용해서 보고 있다. 그리고 이건 git log —pretty=oneline
이다. 하지만 이 커맨드는 현재 branch에 해당하는 커밋들만 보인다. 만약 현재 있는 branch 뿐만아니라 다른 branch도 보려면 어떻게 해야할까? 그럴땐 뒤에 —all 옵션을 붙혀주면 된다.
이렇게 입력하면 두 가지의 브랜치 커밋 히스토리 모두 잘 보인다.
하지만 우리는 이 커밋 히스토리를 보면 조금 헷갈리는 부분이 있다. 예를 들어서 이 revert커밋은 master branch의 revert커밋인데 마치 premium branch의 revert 커밋인 것처럼 보인다. 커밋이 순서대로 있다보니 마치 premium branch의 revert 커밋인 것처럼 보인다.
사실 premium branch의 revert 커밋은 이렇게 두개인데 말이다.
git log에는 이런 문제를 해결해주는 —graph라는 옵션이 있다. 이 —graph 옵션은 각 branch와의 관계가 잘 드러나도록 그래프 형식으로 출력이 된다.
위의 커맨드를 입력해주면 화려한 선들이 나오게 되는 것을 볼 수가 있다. 여기서 *하나가 커밋 하나이다.
그리고 뭔가 갈라진 모습은 여러 branch로 코드 관리 흐름이 갈라졌던 모습이다. 그리고 이렇게 두 선이 합쳐지는 곳에 커밋 메세지를 보면 전부 merge 커밋이라는 걸 알 수가 있다.