08. Branch 활용하기: rebase

지구·2023년 7월 17일
0

Git, Github 정리

목록 보기
10/19

1. git rebase 활용하기

rebase: 특정 브랜치를 base (기준) 로 놓고, 커밋 이력을 정렬하는 명령어

git rebase [develop]

rebase는 병합을 위한 것이 아니라, 커밋 히스토리를 정렬하기 위한 명령어이다. 이미 병합된 브랜치가 있더라도, 거기서 rebase를 하면 커밋 히스토리를 다시 정렬할 수 있다.

rebase 는 커밋 이력을 단순히 관리하고 싶을 때 사용하는 명령어이고, merge 는 변경 이력을 모두 남기고 싶을 때 사용하는 명령어이다. 실제로는 커밋 이력을 남기는 것이 굉장히 중요하기 때문에, rebase 는 fork 시에 원본 프로젝트에 맞게 (동기화해서) 변경 이력을 관리하고자 하는 특수한 상황에서만 사용하고, 보통은 merge 만을 사용한다.

2. rebase 시의 merge conflict 해결하기

rebase 시에도 merge conflict 가 발생할 수 있는데, 해결 방식이 조금 다르다.

git add .
git rebase --continue

merge시에 merge conflict가 났을 때는 파일을 수정해준 후에 바로 add -> commit을 진행하면 해결되었지만
rebase merge conflict는 add를 진행한 후에 commit 대신, git rebase --continue 를 진행한다.

git rebase --abort

만약 merge conflict 가 발생한 상황에서 rebase 를 취소하고 싶다면 위 명령어를 입력하면 된다.

profile
프론트엔트 개발자입니다 🧑‍💻

2개의 댓글

comment-user-thumbnail
2023년 7월 17일

정말 유익한 글이었습니다.

1개의 답글