Git Rebase
Git Rebase
1. 이유
- 브랜치를 생성한 이후 수정사항이 생길 때마다 commit을 하고, 이후 merge 했을 때 모든 commit이 남기때문에 history가 지저분해지기 때문에
그렇기 때문에 Rebase로 commit을 하나로 합쳐서 관리한다 ❗️ ❗️
2. 사용
- 각 branch에서 작업하다가 2-3개의 commit이 생기면 rebase 진행
- ✨ 하나의 branch에는 1개의 commit ✨
🌈 진행순서
git add .
git commit -m"[commit 내용]"
작성
git checkout main
으로 이동 후 git pull origin main
진행
git checkout [branch명]
으로 이동 후 git rebase -i main
진행
- 💥 conflict 발생 시에는 conflict 해결 후
git add .
git rebase -i continue
반복
- 해결이 안된다면
git rebase --abort
로 rebase를
진행하기 전 상황으로 돌아가기
- ⚡️ squash 진행 시에는
- 가장 오래된
commit을 pick
하고
- 다른 commit은 가장 오래된 commit을 기준으로
squash
진행
- ESC ➡️ :wq
- 💡 최종적으로 branch를 대표하는 commit 수정용 에디터 등장
- 하나의 commit message만 남기고 나머지는 삭제
- ESC ➡️ :wq
- 🔥 git은 history가 다른 branch의 push를 허용하지 않는다!
git push origin [브랜치명] -f
진행 (-f 강제)