일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- NPM
- javascript
- 함수형프로그래밍
- python
- nodeJS
- Certbot
- https
- GIT
- html
- Functional Programming
- 자료구조
- MSA
- 비주얼 스튜디오 코드
- typescript
- ChatGPT
- ES6
- nestjs
- Let's Encrypt
- MSK
- V8
- 파이썬
- Linux
- Schema Registry
- docker
- Generics
- Express
- node.js
- vscode
- 알고리즘
- stream
- Today
- Total
JangBaGeum.gif
[git] 직전 commit 수정, git commit --amend 본문
commit 메시지를 잘못 입력했거나, 혹은 디버깅용 코드를 포함하거나 간단한 실수를 코드에 포함하여 commit 하였을 때, 어떻게 대처를 해야 될까?
git reset -soft를 통해 commit을 삭제 후 다시 commit을 하는 방법도 있지만 더 예측 가능하면서 안전하게 직전 commit을 수정하는 방법이 있다.
바로 git commit의 옵션 중 --amend 옵션이다.
commit 메시지 수정하기
직전 commit의 메시지를 수정하려면 아래와 같이 git commit에 --amend 옵션을 사용하면 된다.
$ git commit --amend
만약 아래와 같이 마지막 commit 메시지를 "4th commit"으로 작성하려고 했는데, 실수로 "5th commit"으로 작성했다고 가정해 보자.
git commit --amend를 입력하면 아래와 같이 commit 메시지를 수정할 수 있는 에디터가 실행된다.
"4th commit"으로 메시지 내용을 수정 후 저장하면 commit 메시지가 수정된 것을 확인할 수 있다.
--message (-m) 옵션과 함께 사용하여 직전 commit의 메시지를 쉽게 덮어쓸 수 있다.
$ git commit --amend -m "4th commit"
주의사항
--amend를 사용하면 commit ID가 수정된다.
결론적으로 commit의 최종 작성 시간이 변경되므로 수정 전의 commit 과는 완전 다른 commit이기 때문에 ID도 변경된다. 위 이미지 중 git commit --amend를 사용하기 전과 후의 마지막 commit ID를 보면 변경된 것을 확인할 수 있다.
또한 git commit --amend 사용하기 전 이미 원격 저장소에 push를 했다면, git commit --amend를 이용하는 것은 새로운 commit을 만든 것과 비슷하기 때문에 원격 저장소의 브랜치와 갈라졌다는 것과 의미가 같다. 그러기에 force push를 이용해서 원격 저장소에 업데이트가 필요하다.
'ETC > Git' 카테고리의 다른 글
[Git] Git revert를 이용해 commit 되돌리기 (좀 멀리도) (4) | 2024.04.27 |
---|