branch 정보확인

|

branch 정보확인

  • Branch를 만들면 편리해지지만 복잡성이 증가하므로 많은 어려움들이 생김
  • 이를 위해 branch간의 차이점을 비교하는 방법에 대해 설명

  • git branch를 하면 현재 branch들인 masterexp을 확인 가능
  • 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)가 같이 출력됨
  • git log --branches --decorate --graph 입력
    • 출력된 log list의 맨 좌측에 빨간색 줄이 뜬 것을 확인 할 수 있음
    • 현재 상태에서는 의미가 없으나(master에서 exp로 분기 후 master 내용은 그대로, exp의 내용만 바뀐 상태) master와 exp가 각각 새로운 내용이 모두 추가되어 바뀐 경우 의미가 생김
  • git checkout master로 master branch로 이동
  • vim f3.txt로 파일 생성하고 내용 저장
  • git add f3.txtgit commit -m "commit message"하여 commit 후 git log 입력
    • 총 3개의 log만 보임(앞의 f2.txt의 변경내용 2개와 새로 방금 만든 f3.txt에 관한 것)
  • 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를 치면 두 브랜치 사이의 코드 차이점을 볼 수 있음