CSV 값 입력하다 현타와서 작성하는 포스트...
branch가 main에 계속 merge 되면, 해당 branch에서 작성한 commit들도 함께 merge되며, main branch에 있는 commit history는 점점 더러워진다. 더 깔끔하고 효율적인 commit 창을 위해 squash & rebase
를 활용하자!
일반 step
- MAIN : branch에 commit 2-3개가 쌓이기 시작하면 rebase를 준비하자.
- MAIN : 일단 main에서 변동 사항이 생겼을 수 있으니 main으로 가자 ➔
git pull origin main
main을 가장 최근 버전으로 pull 받자.
- BRANCH : 내가 계속 작업하고 commit했던 branch로 가서 ➔
git rebase -i main
- SQUASH I : 해당 명령어를 입력하면 지난 commit message들이 다 띄워주는 창이 나올 것이다. 이 때 첫번째 commit message만
pick
으로 남기고 나머지는 다 s
으로 바꾼다. :wq
으로 저장하고 나온다.
- SQUASH II : SQUASH I 창을 닫으면 git에서 새로운 창을 띄워준다. 여기서 commit message를 편집하고 원하는 message 내용을 입력한다. 지난 commit들까지 다 통합된 message니 상세하게 적는 것이 좋다.
- push한 후
git log
으로 commit을 확인한다.
-- 특수한 경우(feature branch ➔ main으로 push 해야하는 경우)
- PR를 이미 한 상태라면 강제 푸쉬 ➔
git push ** "BRANCH NAME"** -f
** 강제 푸쉬는 함부로 쓰면 안된다.