상세 컨텐츠

본문 제목

[git] git branch 생성, 이동, 병합

git

by ~지우~ 2022. 1. 9. 13:24

본문

728x90

git branch생성과 이동, 그리고 branch 간의 차이점을 보는 방법에 대해 알아보겠습니다.

 

<branch 생성>

git branch: 현재 존재하는 branch의 이름 보기

master는 git의 기본 branch이다.

 

 

git branch 브렌치이름: 새로운 branch 생성

exp라는 새로운 branch 생성한 후 exp가 추가된 것을 볼 수 있다.

 

 

git checkout 브렌치이름: 브렌치로 이동

exp라는 branch한 후 *표시가 exp로 옮겨진 것을 볼 수 있다.

(<참고>  git checkout -b 브렌치이름: 브렌치 생성과 이동을 동시에 할 수 있다. )

 

exp branch에 새로 commit한 내용을 추가했다.

 

git log를 통해 새로운 commit "3"이 추가된 것을 볼 수 있다. 

 

git checkout을 통해 다시 master branch로 이동한 후 git log를 보면, 새로운 commit "3"이 추가되지 않은 것을 볼 수 있다.

 

<branch 간의 차이점>

branch 간의 차이점을 찾는데는 여러가지 방법이 있다.

 

git log --branches --decorate

commit (exp)는 exp branch에 있는 commit이고, 

(HEAD -> master)는 master branch에서 가장 최근의 commit이다. 

HEAD -> 의 의미는 지금 branch의 위치를 가르킨다. 위에서 마지막으로 git checkout master를 했기 때문에

HEAD -> master라고 나타난 것이다.

 

git log --branches --decorate --oneline

한줄로 존재하는 branch간의 차이를 나타낸 것이다.

 

git log 브렌치이름1..브렌치이름2

브렌치이름1에는 없고 브렌치이름2에만 있는 커밋을 보여준다.

master에는 없고 exp에만 있는 커밋이 "3"이다.

exp에는 없고 master에만 있는 커밋은 없다.

 

<branch 병합>

exp에서 작업한 내용을 master에서도 동일하도록 합병해보겠다. 그러려면 master branch에서 병합을 시행해야 한다.

 

git merge

git merge 후 git log master..exp를 통해 master에는 없고 exp에만 있는 커밋이 없다는 것을 볼 수 있다.

 

 

2 way merge와 3 way merge의 차이점

 

 

 

출처:

https://www.youtube.com/playlist?list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk

 

728x90

관련글 더보기

댓글 영역