우리는 커밋 히스토리를 git history를 이용해서 보고 있다. 그리고 이건 git log —pretty=oneline이다. 하지만 이 커맨드는 현재 branch에 해당하는 커밋들만 보인다. 만약 현재 있는 branch 뿐만아니라 다른 branch도 보려면 어떻게 해야할까? 그럴땐 뒤에 —all 옵션을 붙혀주면 된다.

스크린샷 2022-09-03 오후 5.31.07.png

스크린샷 2022-09-03 오후 5.33.54.png

이렇게 입력하면 두 가지의 브랜치 커밋 히스토리 모두 잘 보인다.

스크린샷 2022-09-03 오후 5.34.22.png

하지만 우리는 이 커밋 히스토리를 보면 조금 헷갈리는 부분이 있다. 예를 들어서 이 revert커밋은 master branch의 revert커밋인데 마치 premium branch의 revert 커밋인 것처럼 보인다. 커밋이 순서대로 있다보니 마치 premium branch의 revert 커밋인 것처럼 보인다.

스크린샷 2022-09-03 오후 5.35.53.png

스크린샷 2022-09-03 오후 5.36.35.png

사실 premium branch의 revert 커밋은 이렇게 두개인데 말이다.

스크린샷 2022-09-03 오후 5.37.15.png

스크린샷 2022-09-03 오후 5.37.39.png

git log에는 이런 문제를 해결해주는 —graph라는 옵션이 있다. 이 —graph 옵션은 각 branch와의 관계가 잘 드러나도록 그래프 형식으로 출력이 된다.

스크린샷 2022-09-03 오후 5.38.27.png

스크린샷 2022-09-03 오후 5.38.35.png

스크린샷 2022-09-03 오후 5.38.57.png

위의 커맨드를 입력해주면 화려한 선들이 나오게 되는 것을 볼 수가 있다. 여기서 *하나가 커밋 하나이다.

스크린샷 2022-09-03 오후 5.39.24.png

스크린샷 2022-09-03 오후 5.40.25.png

그리고 뭔가 갈라진 모습은 여러 branch로 코드 관리 흐름이 갈라졌던 모습이다. 그리고 이렇게 두 선이 합쳐지는 곳에 커밋 메세지를 보면 전부 merge 커밋이라는 걸 알 수가 있다.