본문 바로가기
[개발] 형상관리/Git

Squash 기능을 사용하여 커밋하기

by Devsong26 2024. 10. 7.

Git Squash

  • 여러 개의 커밋을 하나로 합치는 작업을 의미합니다.
  • 일반적으로 Git에서 스쿼시는 rebase와 함께 사용되며, 커밋 히스토리를 깔끔하게 정리하거나, 여러 개의 관련된 커밋을 하나의 커밋으로 합쳐서 최종적인 결과물만을 남기고 싶을 때 유용합니다.

 

git log를 통해 합치려는 커밋을 확인합니다. 

-n 은 헤드에서부터 로그의 개수를 의미합니다.

git log -n

 

 

Squash는 Rebase를 통해 이루어집니다.

저의 경우 HEAD로 부터 n 번까지의 커밋을 합치는 작업을 주로 사용합니다.

-i 옵션은 rebase를 수행할 때 커밋을 어떻게 처리할지 사용자가 직업 제어할 수 있게 해주는 옵션입니다.

git rebase -i HEAD~n

 

 

Rebase 를 하면 아래와 같은 화면이 보여집니다.

 

pick은 사용할 커밋을 나타내며, s[squash]는 pick 커밋에 커밋한 내용을 합친다는 의미입니다.

 

위에서 지정을 다 하셨으면 :wq를 눌러 커밋 메시지 내용 창을 띄웁니다.

메시지를 정리하고 :wq 하면 스쿼시 완료입니다.