[Git] #4-7. 브랜치 재배치하기
브랜치 재배치란?
master 브랜치의 두 번째 커밋에서 foo 브랜치가 뻗어 나왔고, 각 브랜치에 여러 커밋이 쌓여 있다.
두 번째 커밋에서 뻗어나온 foo 브랜치를 네 번째 커밋에서 뻗어나오도록 변경한다.
이렇게 브랜치가 뻗어나온 기준점을 변경하는 것을 브랜치의 재배치(rebase) 라고 한다.
브랜치 재배치 실습
앞의 예시 그래프대로 실습을 해보자.
빈 저장소에 a.txt를 생성한 커밋(first master commit), b.txt를 생성한 커밋(second master commit)을 한 후 foo 브랜치를 만들고 체크아웃 한다.
foo 브랜치에 foo_a.txt를 생성 후 커밋(first foo commit)하고, foo_b.txt를 생성 후 커밋(second foo commit)한다.
이제 master 브랜치로 체크아웃한다. master 브랜치에서 c.txt를 생성 후 커밋(third master commit)하고, d.txt를 생성 후 커밋(fourth master commit)한다.
그러면 이런 그래프가 나타난다.
이제 두 번째 커밋에서 뻗어 나온 foo 브랜치를 네 번째 커밋에서 뻗어나오도록 재배치(rebase) 해보자.
foo 브랜치로 체크아웃한 후, 재배치하고자 하는 커밋(fourth master commit)에 마우스 우클릭 - 재배치를 누른다.
그러면 이렇게 브랜치가 재배치(rebase)되었다!
재배치했을 때 발생하는 충돌
재배치를 했을 때 같은 부분을 다르게 수정해서 충돌이 발생할 수 있다. 이럴 땐 앞서 충돌을 해결한 방법과 똑같이 하면 된다.
충돌이 발생했을 때 대처법
- 충돌을 해결한다(어떤 브랜치의 내용을 반영할지 직접 선별한다).
- 다시 커밋한다.
Leave a comment