rebase에 대해 알아보자
-두개의 브랜치에서 각각 다른 커밋을 한다고 했을 때, 헤드가 되는 기준점(base)를 다시 설정한다는 의미로 marge
와는 차이점이 있다.
git에서 base는 나의 branch를 딴 시점의 master base를 의미한다.
master branch의 가장 최신 base는 HEAD라고 한다.
marge와 차이점
rebase를 하는 이유
(필수) rebase 전 백업하기
cp -rpv adwards-frontend adwards-frontend2
git rebase flow
confict 발생시 해결
conflict가 발생하면 conflict를 해결해나가면 된다.
git add (conflict 해결한 파일명)
rebase --continue를 입력한다.
squash 한 commit들이 많을수록 지속적으로 발생되며 위의 과정을 반복
마지막 commit 메시지 편집 / push 하기
commit 메시지들을 편집한다
여기서 conflict를 해결한 경우라면 push 명령어에 -f 를 붙여 강제로 push한다.
과거의 커밋 수정하기(활용)
깃 히스토리 확인
git log --graph
rebase 하기
git rebase -i head~4
수정해야할 커밋이 head로부터 4개 전일 경우
commend 바꾸기
커밋 앞의 “pick”을 “edit”으로 바꿔준다.
수정
파일에서 오타를 수정하고 git add .와 git commit --amend를 통해 현재 커밋을 덮어씌운다.
git rebase --continue
conflict가 뜨면 해결 후에 coutinue 해준다.