Skip to content

Commit df6ac8c

Browse files
committed
docs(git): Git 커밋 메시지 수정하기 추가
1 parent 36de807 commit df6ac8c

3 files changed

Lines changed: 75 additions & 0 deletions

File tree

252 KB
Loading
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: 'Git 커밋 메시지 수정하기'
3+
date: '2025-01-19T19:30:00+09:00'
4+
categories: ["Git"]
5+
tags: ["commit", "rebase", "reword"]
6+
---
7+
8+
커밋 메시지는 의도를 전달한다. 하지만 가끔 메시지 작성을 실수한다. 심지어 잘못 작성한 커밋 메시지를 뒤늦게 발견했다. 어떻게 수정할 수 있을까?
9+
10+
1. 방금 작성한 커밋
11+
2. 과거 커밋
12+
13+
이전 커밋은 크게 방금 작성한 커밋과, 과거 커밋으로 나뉜다.
14+
15+
## 1. 방금 작성한 커밋 수정하기
16+
17+
```shell
18+
git commit --amend
19+
```
20+
21+
방금 작성한 커밋을 수정하기 위해서는 다음과 같이 작성한다.`amend(수정)`을 사용해서 쉽게 덮어쓴다.
22+
23+
> `--force-with-lease`: 원격저장소에 푸시한 커밋은 똑같이 수정하고 '강제 푸시' 해야 한다.
24+
25+
## 2. 과거 커밋 수정하기
26+
27+
```shell
28+
git log
29+
```
30+
31+
먼저 수정하고 싶은 커밋을 확인하자.
32+
33+
> 방금 만든 커밋 수정하기에 비해 골치 아프다. 하지만 금방 익숙해질 수 있다.
34+
35+
### 2.1 여러 커밋
36+
37+
```shell
38+
git rebase -i HEAD~n
39+
```
40+
41+
1. 마지막 커밋 `n`개를 표시한다.
42+
2. `pick``reword`로 수정한다.
43+
3. 수정한 커밋 메시지를 작성하고 종료한다.
44+
45+
### 2.2 조금 더 오래된 커밋
46+
47+
![과거 커밋 수정하기 시나리오 <출처: 장태근블로그>](how-to-setup-rebase.png)
48+
49+
`git log` 명령을 실행해서 커밋내역을 확인한다. 예를 들어 수정하고 싶은 커밋이 `0eb0d7`로 시작하는 커밋일 때 `HEAD`를 바로 직전커밋인 `230339`로 이동해야 한다.
50+
51+
```shell
52+
git rebase -i 230339 #<직전커밋>
53+
```
54+
55+
수정하고 싶은 커밋에 직전커밋 로그로 이동하고 `pick`으로 표시되는 해쉬값을 `edit`으로 수정한다. 에디터로 작업을 마치면 해결하고 싶던 파일을 작성하고 추가하면 된다.
56+
57+
![과거 커밋 수정하기 완료 <출처: 장태근블로그>](rebase-continue.png)
58+
59+
개발도구로 파일을 추가한 후 커밋 메시지를 수정했다.
60+
61+
### 2.3 정리하기
62+
63+
여러 커밋을 수정하는 두 가지 방법을 알아봤다. 비교적 최근 커밋을 수정한다면 첫 번째(`git rebase -i HEAD~n`) 방법이 편리하다. 반면 조금 더 오래된 커밋을 수정해야 한다면 내역을 확인하고 직전
64+
커밋으로 확인하는 두 번째 방법이 유용하다.
65+
66+
## 마치며
67+
68+
흔히 마주하는 두 가지 상황을 알아봤다. 커밋을 최소한의 단위로 잘 나눠야 된다고 한번 더 느꼈다. 분기를 잘 나눠야 충돌과 같은 다른 문제가 발생했을 때도 쉽게 해결할 수 있다.
69+
더불어 명료한, 좋은 커밋 메시지를 작성하는 방법도 관심이 생겼다.
70+
71+
> [!NOTE] 협업을 진행 중이라면 한번 더 확인하자.
72+
73+
### 참고 자료
74+
75+
- [GitHub Docs 'Changing a commit message'](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message)
435 KB
Loading

0 commit comments

Comments
 (0)