컴공생의 다이어리

[Git] 여러 커밋(commit) 하나로 합치기 본문

Development/Git

[Git] 여러 커밋(commit) 하나로 합치기

컴공 K 2021. 12. 19. 00:01

Git 여러 커밋(commit) 하나로 합치기

이 글에서는 여러 커밋을 하나로 합치는 방법에 대해 정리하고자 한다.

 

만일 아래와 같이 커밋이 있다고 하자. 아래처럼 자잘자잘하게 나눠서 여러번 커밋했을 때 하나의 커밋으로 통합하고 싶을 수 있을 것이다.

 

이때, rebase의 -i 옵션을 사용해서 커밋을 통합할 수 있다. 만일 위의 사진에서 첫번째 커밋 부터 세번째 커밋까지 통합하고 싶다면 git rebase -i HEAD~3 명령어를 입력하면 된다.

git rebase -i HEAD~(통합갯수)

# ex
git rebase -i HEAD~3

 

위의 명령어를 입력하면 아래 왼쪽 사진과 같이 3개의 커밋에 대해서 pick이라고 되어 있는 부분이 있을 것이다. 맨 위의 커밋을 제외하고 나머지 pick을 s 혹은 squash로 변경해준다.

 

그 다음 아래 왼쪽 사진과 같이 나오면 합칠 커밋 내용을 수정하고 저장(:wq)하고 나오면 된다. 나의 경우 기존의 커밋 내용에 #을 붙여서 커밋 메시지에 반영되지 않도록 하고 새롭게 커밋 메시지를 작성했다.

 

 

그 다음 아래 명령어를 통해 원격 저장소에 push해주면 아래와 같이 커밋이 변경된 것을 확인할 수 있다.

git push -f origin

 

 

 

http://hong.adfeel.info/git/git-rebase-i-%EB%A1%9C-commit-%ED%95%A9%EC%B9%98%EA%B8%B0/

 

git rebase -i 로 commit 합치기 - hong's blog

git을 사용해서 작업을 하다보면 결과적으로는 동일한 작업 내역이여도 여러번에 나눠 커밋할때가 많다.   최종적으로는 하나의 commit 내역만 남으면 되는 상황에서 여러개의 커밋을 하나로 합

hong.adfeel.info

 

728x90
Comments