git commit 합치기

hello0U0·2023년 8월 19일
0

git

목록 보기
6/7
post-thumbnail

git 커밋을 여러개 작성했는데 하나의 커밋으로 만들고 싶을 때 사용 방법입니다.

1. 터미널에git rebase -i Head~j를 작성합니다

Head부터 j개의 커밋을 합칩니다. j개의 커밋이 나타납니다.

pick 1234567 3번째 커밋
pick 1234568 2번째 커밋
pick 1234569 1번째 커밋

2. i, a키를 누릅니다.

(편집키 커맨드)로 내용을 편집할 수 있습니다. 화면 하단에 --INSERT--문구가 등장하면 편집이 가능합니다.

pick 1234567 3번째 커밋
pick 1234568 2번째 커밋
pick 1234569 1번째 커밋
-------------------------------------------
--INSERT--

3. pick을 s로 바꿔줍니다.

최종 커밋 하남만 남기고 없애고 싶은 나머지 커밋을 s로 바꿉니다.

pick 1234567 3번째 커밋
s 1234568 2번째 커밋
s 1234569 1번째 커밋
-------------------------------------------
--INSERT--

4. ESC를 누른 다음 :wq로 저장합니다.

ESC로 편집모드에서 명령모드로 바꿀 수 있습니다. w는 저장한다는 의미, q는 나간다는 의미가 있습니다.

pick 1234567 3번째 커밋
s 1234568 2번째 커밋
s 1234569 1번째 커밋
-------------------------------------------
:wq

5. 작성한 커밋들이 보입니다. 좀 전과 마찬가지로 커밋 메세지를 편하게 변경합니다.

저장하면 커밋들이 하나로 합쳐진 새로운 브런치가 생깁니다.(정확히는 main이 이쪽으로 변경된 상태)

# This is a combination of 3 commits.
# This is the 1st commit message:
3번째 커밋
# This is the commit message #2:
2번째 커밋
# This is the commit message #4:
1번째 커밋
-------------------------------------------
:wq

위를 아래와 같이 바꿉니다.

# This is a combination of 3 commits.
# This is the 1st commit message:
1, 2, 3 번째 커밋 통합
-------------------------------------------
:wq

6. git push -f origin 브런치명으로 강제 push해줍니다.

main은 제대로 새 브런치로 옮겨졌지만 원격 저장소에는 여전히 이전의 기록으로 남아있습니다.(origin/main 부분) 강제 push를 하면 원격 브런치도 커밋이 통합된 새 브런치로 바뀝니다.

profile
hello world

0개의 댓글