branch 정보확인
24 Feb 2019 | github 지옥에서 온 gitbranch 정보확인
- Branch를 만들면 편리해지지만 복잡성이 증가하므로 많은 어려움들이 생김
-
이를 위해 branch간의 차이점을 비교하는 방법에 대해 설명
git branch
를 하면 현재 branch들인master
와exp
을 확인 가능git log
로는 뭐가 master와 exp의 구분이 불가git log --branches --decorate
입력--branches
: 현재 checkout되어있는 branch 말고 저장소 내의 모든 branch를 보여줌--decorate
:
- 출력된 결과물에서 master branch의 최신 결과물과 exp branch의 최신 결과물의 차이를 확인 할 수 있음
- 현재 checkout 된 branch에 대해 맨 우측에
(HEAD -> branch_name)
로 확인 가능 - 현재 exp branch에 checkout 되어있으므로 exp branch의 최신정보 log의 맨 우측에는
(HEAD -> exp)
가, master branch의 최신 log에는(master)
가 같이 출력됨
- 현재 checkout 된 branch에 대해 맨 우측에
git log --branches --decorate --graph
입력- 출력된 log list의 맨 좌측에 빨간색 줄이 뜬 것을 확인 할 수 있음
- 현재 상태에서는 의미가 없으나(master에서 exp로 분기 후 master 내용은 그대로, exp의 내용만 바뀐 상태) master와 exp가 각각 새로운 내용이 모두 추가되어 바뀐 경우 의미가 생김
git checkout master
로 master branch로 이동vim f3.txt
로 파일 생성하고 내용 저장git add f3.txt
후git commit -m "commit message"
하여 commit 후git log
입력- 총 3개의 log만 보임(앞의
f2.txt
의 변경내용 2개와 새로 방금 만든f3.txt
에 관한 것)
- 총 3개의 log만 보임(앞의
git log --branches --decorate
로 확인 해 보면 현재 branch가 master인것을 확인 가능(HEAD -> master)
git log --branches --decorate --graph
로 확인 해 보면--graph
옵션의 효용이 드러나게 됨- exp branch가 master에서 나와서 따로 관리되는것을 맨 왼쪽의 그래프에서 시각적으로 확인 가능
- exp와 master branch의 공통의 조상이 되는 commit을 확인 할 수 있음
git log --branches --decorate --graph --oneline
입력--oneline
: 한 줄로 더 간단하게 현재의 상태를 확인 할 수 있음
- branch와 branch 사이의 차이점을 비교하고 싶을때는
git log "비교할 브랜치 명 1".."비교할 브랜치 명 2"
을 사용git log master..exp
치면 master에는 없고 exp에는 있는 것들에 대한 차이를 보여줌git log exp..master
치면 exp에는 없고 master에는 있는 것들에 대한 차이를 보여줌git log -p exp..master
치면 exp에는 없고 master에는 있는 커밋에 대한 커밋 메세지와 exp에는 없고 master에는 생성된 파일과 그 내용을 볼 수 있음
git diff
를 사용하여 각각 브랜치의 현재 상태들을 비교 가능git diff master..exp
를 치면 두 브랜치 사이의 코드 차이점을 볼 수 있음