Git
[Git] rebase 사용해서 히스토리 관리하기
tgool
2023. 3. 16. 13:33
rebase
리베이스도 병합(merge)과 마찬자기로 두 브랜치의 내용을 하나로 합치고 싶을 때 사용한다.
rebase는 기본 merge와는 달리 트리가 더 깔끔하게 유지된다.
## rebase
- merge 처럼 두 브랜치를 합칠 때 사용.
- 현재 브랜치가 대상 브랜치 위로 올라간다.
- 위험하니 조심스레 사용하자.
장단점
장점
- 깔끔한 트리
단점
- 충돌 가능성이 더 높다.
- 위험하다.
- 이미 원격에 있는 브랜치를 rebase 하면 안 된다!
실습
- 새로운 내용을 커밋한다
- etc라는 새로운 브랜치 생성
- 내용을 수정 후 커밋한다.
- 그 후 마스터 브랜치로 체크아웃 후 rebase 브랜치에 병합을 실시한다.
- 그 후 마스터 브랜치에서 etc 브랜치를 병합을 실시한다
- 충돌 해결 후 커밋
- 한 커밋에 두 개의 자식이 생긴다. (트리가 지저분해보일 수도)
반면 rebase는 트리를 깔끔하게 만들어준다.
rebase 방법
- merge-test 라는 브랜치를 생성 후 rebase 브랜치에서 merge-test에 rebase(재배치) 기능을 실시한다.
- 충돌이 발생한다. 위와 같이 충돌 해결한다.
- 그 후 현재 변경사항을 merge-test에 재배치 버튼을 클릭한다
- 한 줄로 깔끔하게 정리 가능하다.
- 병합 하면 merge test 내용이 가장 위로 올라가게 된다.