TIL 64 | Git Workflow & Rebase

meow·2020년 10월 6일
1

Git

목록 보기
3/4
post-thumbnail

Git Workflow

Rebase

master 브랜치에서 feature 브랜치를 만들었을때, 그 시점의 master 브랜치가 base 가 된다. rebase란 브랜치에서 기준이 되는 base를 가장 최신의 것으로 바꾸는 것을 의미한다.

Rebase의 장점

  • Merge 커밋이 남지 않는다
  • Squash(커밋 로그를 하나로 묶기)가 가능하다

커밋이 2-3개 정도 쌓이면 rebase를 하고 스쿼시를 하자. 하나하나 합치는 과정에서 커밋 개수 만큼 conflict가 나기 때문이다.

Rebase 사용법

  1. master로 이동하고 나서 pull 한다.
  2. 브랜치로 이동하고 master과 rebase 한다.
    $ git rebase -i master

  1. 첫번째 pick 을 제외하고 그 아래 전부를 s(squash)로 변경해준다.

  1. 커밋메세지를 지우고 내용을 변경한다. (한개로 합치는 과정)

  1. git add 한다. 💥

  2. $ git rebase --continue
    rebase를 끝낸다. 다시 conflict가 나는 경우가 있는데, 그럴때는 success가 뜰 때까지 반복하면 된다.

rebase는 git history를 조작한 것이기 때문에 push 할 때 다른 repositiory로 생각하고 오류가 뜰때도 있다. 그럴때는 $ git push origin barnch --force 라고 쓰면 된다.

rebase 할 때만 --force를 사용하자! 내 브랜치에서만 rebase를 사용하자. master 브랜치에서 rebase 절.대.금.지 !

profile
🌙`、、`ヽ`ヽ`、、ヽヽ、`、ヽ`ヽ`ヽヽ` ヽ`、`ヽ`、ヽ``、ヽ`ヽ`、ヽヽ`ヽ、ヽ `ヽ、ヽヽ`ヽ`、``ヽ`ヽ、ヽ、ヽ`ヽ`ヽ 、ヽ`ヽ`ヽ、ヽ、ヽ`ヽ`ヽ 、ヽ、ヽ、ヽ``、ヽ`、ヽヽ 🚶‍♀ ヽ``ヽ``、ヽ`、

0개의 댓글