Git rebase사용하기

김윤홍·2024년 7월 28일
0

Git rebase란?

참조

git rebase 란 현재 브랜치에서 다른 브랜치의 시작점을 base를 옮기는 것을 뜻함.

git rebase를 사용함으로써 브랜치를 옮기면서 현재 브랜치와 옮기는 브랜치의 내용을 merge를 할 수 있다.

Git merge vs git rebase

그럼 그냥 merge하는 거랑 rebase하는 거랑 차이점은 뭘까..?

먼저 git tree가 깔끔해져서 git log단위로 비교하고 바뀐점을 쉽게 파악할 수 있다.

반면 git rebase를 사용하지 않고 그냥 merge를 하게 되면 git tree가 복잡해지고 변경사항을 한번에 파악하기 어렵다..

git rebase에 대한 이해

위의 사진을 보면서 이해해보도록 하자

어떤 프로젝트의 개발을 feat별로 브랜치를 나눈다고 가정했을때 feat별로 끝나는 시점이 다를것이다.
feat1의 개발이 끝나면 dev브랜치에 merge시키고 feat2를 개발하고 있는 사람은 feat1이 merge된 브랜치로 베이스를 옮겨서 변경된 사항을 반영할것이다

하늘색 선은 처음 뻗어나온 브랜치의 base이다. 따라서 base를 feat1의 변경사항이 변경된 시점으로 옮기므로써 최신으로 업데이트 하고 git tree, git log등을 깔끔하게 관리할 수 있어 한눈에 알아보기 쉬워진다.

  1. dev branch 에서 새로운 brach를 따면서 작업합니다.

  2. 작업 및 Test가 완료되면 작업한 브랜치의 commit 들을 rebase 를 통해 dev brach로 이동시킵니다.

  3. 원격 upstream dev 에서 변경점이 있다면, upstream dev를 기준으로 다시 rebase를 시켜 upstream과 sync를 맞춰줍니다.

  4. 이후 fork 한 내 origin에 push 를 해줍니다.

  5. origin 에서 upstream 으로 pull request를 날려줍니다.

0개의 댓글

관련 채용 정보