git log --branches --decorate : 모든 branch에 대한 로그 정보를 보여준다. HEAD는 현재 branch르 가리킨다. 위 사진을 보면 현재 체크아웃된 branch는 "exp_1"이다. "master" branch는 커밋 메시지 "1" 버전이 최신 버전이고 "exp_1"은 현재 커밋 메시지가 "3"인 버전이다.
왼쪽 사진은 "git log --branches --decorate"를 오른쪽은 "git log --branches --decorate --graph" 명령어를 친 결과다. "--graph"를 추가로 붙이면 해당 branch가 거친 버전 정보가 무엇인지 알 수 있다. 오른쪽 사진을 보면 "master" branch는 버전 메시지 "1", "4", "5"를 "exp_1" branch는 버전 메시지가 "3", "2", "1"을 거친 것을 알 수 있다.(거친 커밋 왼쪽에 하얀색 별표가 표시된다) 반면 "--graph"를 붙이지 않으면 해당 branch들이 어떤 버전을 거쳐 왔는지 알 수 없다.
추가적으로 "--oneline"을 붙이면 더 간결하게 볼 수 있다.
git log "브랜치명".."브랜치명2" : branch 간의 차이를 보여준다.(master에는 없고 exp_1에는 있는 버전 정보를 보여준다.)
"exp_1"에 없고 "master"에 있는 "5", "4" 버전을 보여준다.
git log -p "브랜치명".."브랜치명2" : 해당 버전에서 변경된 내용을 추가적으로 보여준다.
git diff "브랜치명".."브랜치명2" : 각 branch들의 현재 상태를 비교한다. "-"는 "master" branch와 연관되어 있고 "exp_1" branch는 "+"와 연관되어 있다. 위 사진을 보면 test1.txt 파일에 대해 "master" branch가 "exp_1" branch와 달리 4\n5 내용이 추가로 있고 "master" branch에 없는 test2.txt가 "exp_1" branch에 있는 것을 알 수 있다.
'Git(생활코딩)' 카테고리의 다른 글
Git - branch 병합 시 충돌 해결 (0) | 2017.06.15 |
---|---|
Git - branch 병합(fast-forward/Not fast-forward) (0) | 2017.06.14 |
Git 혁신(1) - branch (0) | 2017.06.12 |
Git 원리(2) - commit (0) | 2017.06.11 |
Git 원리(1) - git add (0) | 2017.06.09 |