[git] Rebase

권기현·2020년 3월 21일
0

git

목록 보기
2/2

git rebase

A라는 branch의 base는 3번

merge를 하면,

head(3번)에서 진행이 안되었기에 4-5로 붙을 수 있다.
진행되었다면,

commit하면서 merge commit(7번)이 생김

why? Head가 6으로 바뀌었었기 때문이다.!!!


Rebase는


여기에서

base를 6으로 다시 잡고(Fast-forward ...?를 깨끗하게 하기 위해서)

이렇게하면
장점: 보기 지저분한 잔가지가 없어져서 히스토리가 깨끗해진다.-> 깔끔한 내역

단점: 4, 5 ....모든 commit에 대해서 각 각 conflict를 해결해줘야한다.

tip.

wip작업중이라는 뜻!
어차피 4번으로 합칠거니까~~~!!!

reflog

:git rebase하기 전 상태로 돌아갈 수 있다.__

squash

만약 4,5에서 login기능을 구현했다면 login을 확인하기 위해서 4,5의 commit을 각각 확인해야함

->


(4,5 -> 합쳐져서 7)

=> squash를 통해서 4,5를 합쳐서 갖다올린다.(PR을 날릴때 commit이 하나인 상태가 된다.)

-f push => 내가 올리는 용어를 그대로 받아라
=> 절대 "master" 라던가 "공유 branch" 에서 하면 안된다.

-i(interactive 옵션)
git rebase -i : rebase하면서squash를 할 수 있다.

profile
함께 일하고 싶은 개발자를 목표로 매일을 노력하고, 옷을 좋아하는 권기현 입니다.

0개의 댓글