본문 바로가기

에러

[Git] Git commit 내용, 날짜, 작성자 수정하기

* 상황 - 이미 리모트로 업로드된 상황에서 커밋의 작성자를 수정하고 싶었다. 그래서 커밋을 수정하는 방법과 작성자 수정하는 방법에 대해 기술해보려고 한다.

 

* 해결

1. 해시값 확인

git log --oneline

 

2. commit 이력을 변경할 commit 선택

git rebase -i {해시값}

▶ 해시값에 들어갈 수 있는 값: HEAD~1, --root
1. HEAD~1: 현재 HEAD로부터 몇 번째 전인지 나타냄
2. --root: 맨 처음 commit부터 변경

 

3. 변경할 commit의 상태 변경

pick 11abcd3 Add fault
pick 19485ba Add fault2

원하는 해시값의 상태를 pick에서 eedit으로 바꿔준다. 이때 단축키는 ⑤ 를 참고한다.

 

4. commit의 작성자를 수정하고 싶다면

git commit --amend --author="Author Name<author@email>"

Author Name에는 수정하고 싶은 작성자 닉네임 (github 닉네임)
author@email에는 수정하고 싶은 작성자 이메일 (github 이메일)

 

5. commit 내용을 변경하고 싶다면

i 눌러서 INSERT 모드로 진입 후 수정
ESC 눌러서 모드 해제
:wq! 입력 후 엔터해서 저장

 

6. commit한 날짜를 변경하고 싶다면

GIT_COMMITTER_DATE="{원하는 날짜}" git commit --amend --date "{원하는 날짜}”

원하는 날짜는 동일하게 맞춰준다.
변경 후에는 아래 명령어로 위 명령어가 정상적으로 작동했는지 확인한다.

git log --pretty=fuller

 

 

7. 변경 완료 후

git rebase --continue

 

8. 수정한 commit 반영하기

이미 리모트에 올렸다면 force 옵션으로 강제 push를 해주어야 한다.

git push --force

 

* 참고자료

https://hirlawldo.tistory.com/156

반응형