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를 치면 두 브랜치 사이의 코드 차이점을 볼 수 있음
Seongkyun Han's blog