https://github.com/gypark/App-gitfancy
장점: 음, 내가 만들었지만 예쁘다. :-)
단점: 효율성이 꽝이다. git의 내부 동작 원리 이런 걸 잘 모른채로 프론트엔드 부분의 매뉴얼만 참고하면서 만든 거라...
git log
를 한 번 실행해서 출력할 커밋 목록을 두 번 읽는다
--split-merge
옵션이 켜져 있으면 커밋 갯수가 많고 병합이 잦은 저장소에서는 무지무지하게 느려진다. git merge-base
를 수도 없이 실행한다.
다음 두 명령의 출력 비교
git log --oneline --decorate --color=always --source --graph 추가인자
git-fancygraph.pl 추가인자
추가인자2
는 출력할 브랜치 목록이나 파일명 등
샘플1
--all
로 모든 브랜치 출력
샘플2
브랜치1 브랜치2 ^브랜치3 ^브랜치4
이렇게 해서 브랜치1과 브랜치2에서 도달가능하지만 브랜치3과 브랜치4에서는 도달할 수 없는 커밋들만 출력시켜 보았음. 이렇게 커밋들의 부모자식 연결고리가 애매하게 깨질 때는 분기와 머지가 제대로 나오지는 않는다.
샘플3
작업하다가 커밋들 rebase할 때 아주 기쁘다. 엑셀에서 계속 셀 잘라내어 다른 위치에 붙여넣기 하던 시절 안녕~
끄응, git 2.2 에서 출력에 버그가 있어서, 태그가 있는 로그에서 제대로 로그를 따라가지 못하고 있다. [메일링 리스트에 문의해서 받은 답변]