git의 rebase는 여러 곳에서 다양하게 쓰이는 유용한 명령어입니다.
우리가 프로젝트를 진행하면서 master branch에서 최신화 받아온 branch를 합치는 명령어는 merge 였지만 일반적으로 두 가지 방법을 사용합니다.
(rebase: 같은 작업을 하는 commit 끼리 모으기)
순서
⓵ git add .
⓶ git commit -m "메세지"
⓷ git checkout master
👉 git pull origin master
(최신화 작업)
⓸ git checkout branch명
👉 git rebase -i master
⓹ 가장 오래된 commit을 pick
하고 나머지는 squash
합니다.
⓹번의 상세설명
commit을 할 때랑 똑같이 에디터 창이 뜬다. 그리고, 각각의 commit 내역 앞에 pick
이라는 키워드가 적혀져 있는 것을 확인 할 수 있는데 최상단 commit 내역은 빼고 나머지 commit들만 pick
을 s
로 바꿔줍니다.(s
=== "squash"
)
✅여기서 중요한 것👏🏻
만약에, conflict가 났을 경우에, 충돌 해결한 다음 git add .
👉 git rebase --continue
를 합니다.
git commit -m
가 아닙니다.❌
git rebase --continue
: 리베이스 진행git rebase --about
: 리베이스 중단⓺ 저장하고 나갑니다. (또는 명령어 :wq
를 사용합니다
⓻ 이제, 커밋 메세지를 수정하는 에디터 창이 뜹니다.
⓼ 수정하고 저장하고 나옵니다.
⓽ git push origin branch명 --force
작성 합니다.
(한 번 rebase 적용한 다음 push
한 경우 그 다음부터는 --force
가 적용됩니다.)