본문 바로가기

Git

브랜치를 다른 브랜치에 이어붙이는 rebase

이미지 출처 : https://www.atlassian.com/ko/git/tutorials/rewriting-history/git-rebase

 

한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합한 브랜치를 합치는 방식이다.

'branch' 브랜치를 'main' 브랜치로 rebase하는 방법

1. 'branch' 브랜치로 이동한다.

 

2. rebase 명령어 입력.

git rebase main

 

3. 'main' 브랜치로 이동 후 'branch'의 시점으로 fast-forward.

git merge branch

 

4. 'branch' 브랜치를 삭제한다.

 

 

rebase 주의 사항

  • 원격 저장소에 push한 브랜치는 rebase하지 않는 것이 원칙이다.
  • 가급적 rebase는 아직 원격에 존재하지 않는 로컬의 브랜치들에만 적용하자.

 

그래도 원격 저장소에 push한 브랜치에 rebase를 적용한다면...

  • rebase는 이력을 조작하는 행위기 때문에, 일반 push로는 수행할 수 없다.
  • 이력을 조작하고 push 하는 건 다른 개발자에게 위함한 행위이기 때문에, 무조건 혼자 사용하는 브랜치에서만 해야 한다.
  • 강제 push 명령어를 통해 충돌을 해결한다.
git push --force