포시코딩

Eclipse Git(4) - Rebase 본문

Git

Eclipse Git(4) - Rebase

포시 2022. 6. 26. 18:22
728x90

개요

브랜치를 나눠 작업하는 도중 master 브랜치에서 추가로 진행된 내용을 가져와야 할 때가 있다.

merge를 하는 방법도 있지만 진행 사항에 대해서만 합칠 뿐 브랜치를 합치고 싶지 않은 경우

rebase 기능을 사용할 수 있다.

* merge시에는 commit 이력이 남지만 rebase는 변경 이력도 남지 않아 commit history가 깔끔해진다는 장점이 있다.

 

예제

  • master 브랜치에서 나온 slave 브랜치 존재
  • 같은 파일에 대해 내용은 따로 개발이 진행되었다는 가정
  • slave 브랜치에서는 master 브랜치에서 진행된 내용을 가져와 그 위에 계속 작업을 진행해야 한다.

 

  • head가 slave인 상태를 확인한 후 rebase를 선택한다.

 

  • master 브랜치 선택 후 rebase (local, remote는 상황에 맞게 선택한다.)
  • 예제에서는 local에만 commit된 상태이기 때문에 local master를 선택했다.

 

  • 같은 파일에 대해 내용이 다르기 때문에 conflict가 발생했다.
  • 위의 'Start Merge Tool to resolve conflicts'를 선택하여 Merge Tool을 통해 수정하거나
    충돌이 일어난 파일을 직접 찾아 수동으로 충돌을 해결한다.

 

  • 해결 후 Git Staging 탭에서 Rebase란에 Continue 클릭
  • 위와 같이 staging할 파일이 없으면 skip commit을 누르면 된다.

 

  • Continue를 통해 rebase를 완료할 수 있다.

 

  • 성공적으로 rebase가 완료됐다는 알림이 뜬다.

 

  • slave 브랜치에 master 브랜치 commit이 들어온 것을 확인할 수 있다.

 

 

* 23년 1월 19일 기준으로 다크모드 시 가독성 떨어지는 문제 해결

* 19년도 기준으로 작성된걸 정리한 내용이라 현재 버전과 보이는게 다를 수 있습니다.

728x90

'Git' 카테고리의 다른 글

Eclipse Git(6) - Stash  (0) 2022.06.26
Eclipse Git(5) - Cherry-Pick  (0) 2022.06.26
Eclipse Git(3) - Merge  (0) 2022.06.26
Eclipse Git(2) - Reset, Revert (Git을 되돌리는 방법)  (0) 2022.06.26
Eclipse Git(1) – Commit, Push, Clone  (0) 2022.06.23