여러개의 commit을 1개의 commit으로 합치는 방법

JooKit 주킷 2021. 7. 20. 10:10
목차 접기
728x90
반응형

지저분하게 push한 commit을 1개의 commit으로 합칠 수 있는 방법을 알아보자.

이 방법을 구글링하고 적용한 이유는

업무 작업 중 1개의 commit으로 push를 했어야 하지만

나도 모르게 push....가 되버린 것인지.........

그래서 2개의 commit으로 2번을 push해버린것...

 

 

 

 

하여 2개의 commit을 합칠 필요가 있겠다고 판단하여 수행해보았다.

 

 

 

일단 commit을 합칠때에는 일반적으로 squash 명령어를 사용한다.

 

 


일단 합치고 싶은 commit들을 rebase 명령어로 되돌린다.

git rebase -i HEAD~2 // HEAD(처음부터)에서부터 2개의 commit을 되돌린다는 의미.

시간 순(과거 ~ 최신) 순으로 commit들이 나오게 되는데 여기서 가장 처음을 제외한 commitpicksquash로 변경해준다.

 

 

그다음 저장 하면 다음 화면이 나온다.

여기서 commit 메세지를 수정할 수 있다. 화면에 나온 것에서 주석을 제외한 모든 메세지가 commit메시지로 출력 된다.
이를 수정 하면 된다.

따로 기존 메세지는 삭제하지 않고 메세지만 추가해보았다.

 

 

📌 그리고 저장하기. 그다음에 잘 됬는지 확인 해보자.

 

 

작업 결과는❓
다행히도 2개의 commit이 잘 합쳐졌다ㅠㅠ

 

 

마지막으로 합친 commit을 push 해주어야 한다. (아래 명령어로 push)

 

git push origin stage --force

위의 명령어로 push가 되지 않는다면 아래 명령어를 이용하여 강제 push를 해보도록 하자.

 

 

 

git push origin { branch name } -f

 

 

 

 

 

주의할 점

remote 브런치local 브런치랑 작업 내역이 다르다면
기존에 rebase로 합친 브런치를 누군가 pull하고 다시 작업을 하게되면 git이 꼬일 수 있다.

그러니 꼭 다른 사람이 작업한게 있는지 확인하고 합치기 작업을 진행하여야 한다.

728x90
반응형
LIST