코딩을 하다보면 많은 commit을 남기는 상황이 발생한다.
이 때 commit 내역을 깔끔하게 관리하기 위해 사용하는 것이 rebase다.
rebase를 활용하면 내가 원하는 커밋만 남길 수 있다.
git pull origin master
이 후에 git rebase -i master
를 입력하면 된다.
그리고 여러개의 commit 메세지들 중에서 첫 번째 메세지를 pick으로 rebase 기준점을 잡는다.
그리고 지우고 싶은 메세지는 squash를 입력한다.
그리고 나면 현재까지 모든 commit 메세지가 화면에 뜨는데, 그 때 내가 남기고 싶은 메세지만 제외하고 다 지워버리면 된다.
저장 후 rebase가 완료됐다는 메세지가 뜨면, git push origin feature --force
로 push 하면 끝!
뒤에 --force
를 붙여주는 이유는 기존 git의 commit history와 rebase한 commit history가 다르기 때문인데, 우리가 작업한 내용이기 때문에 강제적으로 push하면 된다.
* rebase를 하다가 잘 못 했을 경우, git reabse --abort
를 통해 rebase하기 전 상태로 되돌아 갈 수 있다.(단, rebase가 완료된 이후에는 abort 불가능!)
git을 마스터하셨다고....?