커밋 내용 수정하기
Git에서 저장소에 커밋한 직후에야 빼먹은 내용이 생각날 때가 있습니다. 예를 들어 "aa 라는 파일도 커밋에 포함시켰어야 하는데.." 라든가 커밋 메시지를 이렇게 썼으면 안됐는데 라든가 하는 식입니다.
이런 경우에는 git commit --amend 명령을 사용합니다.
$ git commit --amend
--amend 옵션은 Staging Area의 내용을 이전 커밋함과 동시에 이전 커밋내역에 덮어 쓰는데, 커밋 직후에 수정사항 없이 이 명령을 사용하게 되면 사실상 직전에 수행했던 커밋에 내용이 덮어 씌워지면서 커밋 메시지만 수정한 것과 마찬가지의 결과가 됩니다.
다음의 테스트 예제에서 첫번째 커밋과 --amend 커밋은 하나의 커밋으로 기록됩니다.
$ git commit -m "bb 파일 커밋" #bb 파일을 커밋 어라! aa 파일 커밋을 빼먹었네?
$ git log #커밋 내역 확인
commit a7d1f3739a7dbaa1d653c8ddba20026fe896af0b (HEAD -> master)
Author: dololak <dololak@git.io>
Date: Mon May 14 21:43:10 2018 +0900
bb 파일 커밋
$ git add aa #빼먹은 aa 파일을 Staging Area에 add
$ git commit --amend -m 'aa 파일, bb 파일 커밋' #--amend로 커밋 내역 덮어씀
$ git log #커밋 내역을 다시 확인하니 커밋 내역이 덮어씌워 졌고 하나만 존재함
commit bd78ff9bc4783eddf5dad5aabf25725b6976af08 (HEAD -> master)
Author: dololak <dololak@git.io>
Date: Mon May 14 21:43:10 2018 +0900
aa 파일, bb 파일 커밋
출처 - https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things
'깃(Git)' 카테고리의 다른 글
[Git] 파일 수정한 내용 checkout 직후 또는 가장 최근 커밋 직후로 되돌리기 (0) | 2018.05.15 |
---|---|
[Git] 파일 상태를 Staged 에서 Unstaged로 변경하기 (0) | 2018.05.14 |
[Git] git log 명령어 - 커밋 기록 보기 (0) | 2018.05.14 |
[Git] git mv 명령으로 파일 이름 변경하기 (0) | 2018.04.26 |
[Git] git rm 명령으로 파일 삭제하기 (1) | 2018.04.25 |