[GIT] Rebase

유은서·2024년 2월 25일

GIT

목록 보기
3/5
post-thumbnail

Rebase

=> 베이스 재설정
=> 하나의 브랜치가 다른 브랜치에서 파생되어 나온 경우,
다른 브랜치에서 진행된 commit을 가져와 base를 재설정
: merge와 동일한 결과

1) Merge 과정

메인 브랜치의 commit 값을 새로운 브랜치에 병합 시, 새로운 commit 발생

git checkout feature
git merge main
  • 직관적이고 이해하기 쉬움

  • 브랜치 변경 없이 단순히 브랜치를 합치는 것

  • 변경이력이 merge commit이므로 알기 어려움.

2) Rebase 과정

메인 브랜치 말고 새로운 브랜치가 생성되어도 메인의 commit을 포함해서 선형적인 히스토리를 남김.

git checkout feature
git rebase main
  • 어떤 브랜치가 base이고 어떤 브랜치가 합쳐지는 건지 파악해야함.
    ex) 위 그림은 feature에 main브랜치를 합쳐야 하는 것.

  • main의 끝이랑 feature의 시작이 이어져 main 브랜치 뒤에서 새로운 commit으로 feature 브랜치의 commit이 생김.
    => 해당 commit에서 충돌이 일어날 수 있는데,,
    그러므로 rebase continue 해줌

  • 변경 내역 확인됨.

0개의 댓글