커밋 여러 개 하나로 합치는 법

우현민·2021년 4월 14일
0

Git 팁 모음

목록 보기
2/3

커밋을 여러 번 했는데, 불필요한 커밋일 수 있다. 가령

// commit message "console.log added"
+ console.log('HelloW orld!');

// commit message "fix typo"
- console.log('HelloW orld!');
+ console.log('Hello World!');

오타를 냈는데 모르고 커밋해버린 경우이다. 이런 경우 굳이 저 커밋을 살려놓고 커밋 두개로 갈라놓을 이유가 없다. 두 커밋의 변경사항을 합쳐버리는 게 좋아 보인다.

Git에는 rebase라는 기능이 있는데, 말 그대로 base를 옮기는 기능이다.


위의 커밋 두 개를 합쳐 보자.

git rebase -i HEAD~3

그럼 다음과 같은 vim (혹은 nano) 창이 뜬다.

pick commit fix typo
pick commit console.log added
  
# 주석들

다음과 같이, 합치고 싶은 걸 s로 바꾸자.

pick commit fix typo
s commit console.log added
    
# 주석들

이제 :wq로 저장하면 (vim의 경우) s한 게 pick한 커밋으로 합쳐 들어간다.
다음으로 다음과 같이 커밋 메세지를 선택하는 창이 뜬다.

# 주석
    
fix typo
   
# 주석
    
console.log added
    
# 주석들

살리고 싶은 메세지는 놔두고, 날리고 싶은 메세지 앞에 #을 붙이거나 지워주자.

# 주석
    
# fix typo
   
# 주석
    
console.log added
    
# 주석들

저장하면 커밋이 하나로 잘 합쳐져 있다.

profile
프론트엔드 개발자입니다

0개의 댓글