본문 바로가기
Git&GitHub

[GIT 09] 새 브랜치에 커밋

by 어쩌다개발 2023. 1. 19.
반응형

참고 : Do It! 깃&깃허브 입문

새 브랜치에서 커밋

1) apple 브랜치에서 work.txt 파일을 열고 'apple content 4' 텍스트를 추가하고 저장한다.

vim work.txt

2) apple.txt 파일을 새로 만들고 똑같이 'apple content 4' 라는 내용을 입력하고 저장한다.

vim apple.txt
git add .
git commit -m "apple content 4"

*git add . : 마침표(.)로 add 하면 현재 저장소에서 수정된 파일을 한꺼번에 스테이지에 올릴 수 있다.

3) git log 명령어로 log 를 확인한다.

git log --oneline

 

HEAD -> apple 로 되어 있으니 현재 apple 브랜치에 체크아웃한 상태이고, apple 브랜치의 최신 커밋은 'apple content 4' 이다.

4) git log 명령어를 사용할 때 --branches 옵션을 사용하면 각 브랜치의 커밋을 함께 볼 수 있다.

git log --oneline --branches

5) 브랜치와 커밋의 관계를 좀 더 보기 쉽게 그래프 형태로 표시하려면 --graph 옵션을 함께 사용한다.

git log --oneline --branches --graph

커밋 내역 왼쪽에 수직선(|)은 커밋과 커밋의 관계를 보여주는 것이다. apple 의 최신 커밋은 'apple content 4'인데, 점선을 따라 'apple conent 4' 커밋의 부모를 따라가보면 'work 3'을 만나게 된다. 즉, apple 브랜치에서는 'work 3' 커밋 다음에 'apple content 4' 커밋이 만들어졌다는 의미이다.

master 브랜치를 살펴보면, master의 최신 커밋은 'master contetn 4'이다. 그리고, 수직선을 따라가 부모 커밋을 찾아보면 'work 3'이다. apple 브랜치의 커밋과 master 브랜치의 커밋이 같은 부모 커밋을 가지고 있다. 즉, master 브랜치나 apple 브랜치는 'work 3' 커밋까지는 같고 그 이후부터 브랜치마다 다른 커밋을 만들었다는 사실을 알 수 있다.

 

브랜치 사이의 차이점 알아보기

브랜치마다 커밋이 점점 쌓여갈수록 브랜치 사이에 어떤 차이가 있는지 일일이 확인하기 어렵다. 이 때, 브랜치 이름 사이에 ..을 넣으면 차이점을 쉽게 확인 할 수 있다.

브랜치의 이름과 마침표 사이는 공백없이 입력하며, 마침표 왼쪽에 있는 브랜치를 기준으로 오른쪽 브랜치와 비교한다.

git log master..apple

master 브랜치에는 없고, apple 브랜치에만 있는 커밋을 보여준다.

반대로 apple 브랜치를 기준으로 master 와 비교하면 apple 브랜치에는 없고 master 브랜치에만 있는 'master content 4' 커밋을 보여준다.

git log apple..master

반응형

댓글