[Git] branch & merge

branch

 - 하나의 레포지토리를 다양한 상태로 보관하기 위한 기능
 - checkout을 통해 원하는 branch로 전환이 가능하다.
 - branch를 전환하면 커밋하지 않은 작업 내용들은 모두 사라진다.

ex ) 

main               ㅁ - ㅁ - ㅁ - ㅁ - ㅁ - ㅁ 
                                               ↘ 
                                                 ㅁ - ㅁ - ㅁ branchA
                                                                   
                                                           ㅁ  - ㅁ branchB

 

새로운 branch 생성하기

Git Repositories 우클릭 -> switch To .. -> New Branch -> branch 이름 정하고 finsh

레포지토리에 branchA가 생성된 것을 확인할 수 있다.
새로 생성되는 branch는 바로 직전에 작업하던 branch의 상태를 이어받게 된다. 

다른 branch에서 작업하면 History의 갈래가 나뉘는 것을 확인 할 수 있다.

 

Merge (병합)

 - HEAD(현재 보고있는 상태)로 다른 브렌치의 작업 내용을 합치는 것
 - 병합(merge)할 때 같은 부분을 수정한 곳이 있다면 그 중 하나를 선택하는 과정을 거친다. 

 

branch 끼리 병합 하기

1. 병합하고 싶은 (병합 될) 브랜치 우클릭 -> Merge 

2. 선택한 브랜치에 합치고 싶은 브랜치 클릭 후 Merge 혹은 더블 클릭

 

rebase

 - 브랜치를 나눈 시점을 바꾸는 기능

merge와 기능적인 차이는 크게 없지만 history를 정리하기에 용이하다.

rebase 전

main               ㅁ - ㅁ - ㅁ - ㅁ - ㅁ - ㅁ 
                                               ↘ 
                                                 ㅁ - ㅁ - ㅁ branchA

rebase 후

main               ㅁ - ㅁ - ㅁ - ㅁ - ㅁ - ㅁ 
                                                      ↘ 
                                                        ㅁ - ㅁ - ㅁ branchA

댓글

Designed by JB FACTORY