TIL #86 : [Git] Git it right with rebase

셀레스틴 허·2021년 3월 5일
0
post-thumbnail

CSV 값 입력하다 현타와서 작성하는 포스트...

branch가 main에 계속 merge 되면, 해당 branch에서 작성한 commit들도 함께 merge되며, main branch에 있는 commit history는 점점 더러워진다. 더 깔끔하고 효율적인 commit 창을 위해 squash & rebase를 활용하자!

일반 step

  1. MAIN : branch에 commit 2-3개가 쌓이기 시작하면 rebase를 준비하자.
  2. MAIN : 일단 main에서 변동 사항이 생겼을 수 있으니 main으로 가자 ➔ git pull origin main main을 가장 최근 버전으로 pull 받자.
  3. BRANCH : 내가 계속 작업하고 commit했던 branch로 가서 ➔ git rebase -i main
  4. SQUASH I : 해당 명령어를 입력하면 지난 commit message들이 다 띄워주는 창이 나올 것이다. 이 때 첫번째 commit message만 pick으로 남기고 나머지는 다 s으로 바꾼다. :wq으로 저장하고 나온다.
  5. SQUASH II : SQUASH I 창을 닫으면 git에서 새로운 창을 띄워준다. 여기서 commit message를 편집하고 원하는 message 내용을 입력한다. 지난 commit들까지 다 통합된 message니 상세하게 적는 것이 좋다.
  6. push한 후git log으로 commit을 확인한다.

-- 특수한 경우(feature branch ➔ main으로 push 해야하는 경우)

  1. PR를 이미 한 상태라면 강제 푸쉬 ➔ git push ** "BRANCH NAME"** -f
    ** 강제 푸쉬는 함부로 쓰면 안된다.
profile
Software Developer / 고통은 필연, 괴로움은 선택

0개의 댓글