-
[Git Branch] (4) Git Branch 정보 확인하기Git&GitHub/Git Branch 2022. 5. 18. 15:10728x90
[브랜치 정보 확인하기]
여기에서는 여러 브랜치에서 각각 커밋이 이루어질 때 커밋끼리 어떤 관계를 하고 있는지 확인하는 방법과 브랜치 사이의 차이점을 확인하는 방법을 알아보겠습니다.
<새 브랜치에서 커밋하기>
apple 브랜치에 새로운 커밋을 만들어 보겠습니다. 잘 따라왔다면 현재 apple 브랜치로 체크아웃 한 상태일 것입니다.
아니라면 위의 내용을 충실히 따라오기를 바랍니다.
1. apple 브랜치에는 work.txt 파일이 있습니다. 빔에서 이 파일을 열고 'apple content 4'라는 텍스트를 추가하고 저장합니다
$ vi work.txt <- 'apple content 4' 추가입력후 저장
2. 실제 업무에서는 apple 고객사만을 위한 내용이 담긴 파일도 필요할 것입니다. apple.txt라는 새로운 파일도 만듭니다. 빔에서 apple.txt 문서를 만들고 여기에도 똑같이 apple content 4 라는 텍스트를 입력하고 저장합니다.
$ vi apple.txt <- apple.txt를 만들고 apple content 4 입력 후 저장
3. 수정된 파일 2개를 각각 스테이지에 올릴 수도 있지만 git add 마침표(.)를 추가하면 현재 저장소에서 수정된 파일을 한꺼번에 스테이지에 올릴 수 있습니다. 다음 명령을 실행하고 커밋 메시지는 'apple content 4'로 합니다.
$ git add .
$ git commit -m "apple content 4"
4. 커밋이 어떻게 되었는지 git log를 통해 확인해봅시다.
$ git log --oneline
5. 첫 번째 줄에 (HEAD -> apple)이라고 되어 있으니 현재 apple 브랜치에 체크아웃한 상태이고, apple 브랜치의 최신 커밋은 'apple content 4'입니다.
6. git log 명령을 사용할 때 다음과 같이 --branches 옵션을 사용하면 각 브랜치의 커밋을 함께 볼 수 있습니다.
$ git log --oneline --branches
7. 결과 화면을 보면 커밋 해시마다 오른쪽에 (HEAD -> apple), (master), (ms, google)이라고 표시되어 있습니다. 이 부분을 보고 어떤 브랜치에서 만든 커밋인지 구별할 수 있습니다. 즉 master 브랜치의 최신 커밋은 'master work 4'이고, ms브랜치와 google 브랜치의 최신 커밋은 'work 3'입니다
8. 브랜치와 커밋의 관계를 좀더 보기 쉽게 그래프로 표시하려면 git log 명령에 --graph 옵션을 함께 사용합니다.
$ git log --oneline --branches --graph
9. 커밋 내역 왼쪽에 수직선( | ) 이 보일겁니다. 이 점선이 커밋과 커밋의 관계를 보여주는 것입니다. 그래프를 살펴보면 apple 브랜치의 최신 커밋은 'apple content 4'인데, 점선을 따라 'apple content 4' 커밋의 부모를 찾아가보면 'work 3' 커밋을 만나게 됩니다. 즉 apple 브랜치에서는 'work 3' 커밋 다음에 'apple content 4' 커밋이 만들어졌다는 뜻입니다.
10. master 브랜치도 살펴봅시다. master 브랜치의 최신 커밋은 'master work 4'입니다. 그리고 수직선을 따라 부모 커밋을 찾아보면 'work 3' 커밋입니다. apple 브랜치의 커밋과 master 브랜치의 커밋이 같은 부모 커밋을 가지고 있습니다. 즉, master 브랜치나 apple브랜치는 'work 3'커밋까지는 같고 그 이후부터는 브랜치마다 다른 커밋을 만들었다는 사실을 알 수 있습니다.
728x90'Git&GitHub > Git Branch' 카테고리의 다른 글
[Git Branch] (6) 브랜치 병합하기 (0) 2022.05.18 [Git Branch] (5) 브랜치 사이의 차이점 알아보기 (0) 2022.05.18 [Git Branch] (3) Git Branch 브랜치 사이 이동하기 - git checkout (0) 2022.05.18 [Git Branch] (2) Git Branch 만들기 (0) 2022.05.18 [Git Branch] (1) Git Branch 란 (0) 2022.05.18