자신의 git local 저장소에서 작업을 하게 되는 경우에, 잘못된 author 정보가 들어간 경우, local commit 에 이미 반영된 자신의 이메일이나 이름 정보등을 변경할 경우에, author 를 수정할 필요가 있다. author 를 수정하는 방법은 여러 가지가 있는데, 여기서는 특정 commit 이후 모든 author 정보를 수정하는 방법에 대해서 알아본다.
우선 git config 명령으로 repository 작업하는 사용자 이름과 이메일정보를 확인하거나, 변경한다.
git config --global user.name "USER NAME"
git config --global user.email "USER EMAIL"
git rebase 명령의 -x 옵션을 사용하여 특정 commit 이후의 모든 commit 의 author 정보를 수정한다.
git rebase -i <commit hash> -x "git commit --amend --reset-author -CHEAD"
위 명령을 수행하면, 아래와 같이 git rebase -i 를 수행했을 때와 같은 화면이 나오고 -x 옵션 이후의 명령이 commit 중간에 exec 명령과 함께 따라 적힌다.
pick xxxxxx <Commit title #1>
exec git commit --ammend --reset-author -CHEAD
pick xxxxxx <Commit title #2>
exec git commit --ammend --reset-author -CHEAD
pick xxxxxx <Commit title #3>
exec git commit --ammend --reset-author -CHEAD
변경되어야 할 commit list 를 확인한 후에 exit (Ctrl-x 또는 :q) 하면 author 가 현재 설정된 author 로 바뀌게 된다. 이를 해주는 것이 --reset-author 옵션이다. --reset-author 는 -C/-c/--amend 옵션과 함께 사용하거나, cherry-pick 한 패치의 충돌을 수정하고 commit 할 경우에 author 를 현재 작업중인 committer 로 바꿔주도록 하는 옵션이다.
만일 특정 패치만 다른 author 를 넣어야 한다면, 위 rebase 의 편집화면에서 exec 명령줄을 바꿔주면 된다.
exec git commit --amend --author="USER NAME <USER EMAIL>"
원본링크: https://www.deployhq.com/git/faqs/update-author-committer-multiple-git-commits
'IT 기술 > 개발환경_유틸 관련 팁' 카테고리의 다른 글
[git] git reset 후 commit message 재사용 (0) | 2022.01.12 |
---|---|
[Python 개발환경] pip 설치/사용법 (3) | 2018.09.26 |
[vim] tab 을 space 로 변환, [no]expandtab 관련 팁 (0) | 2018.08.29 |
[GIT] commit message 유지하면서 commit 에 포함된 파일 제거하기 (0) | 2018.05.29 |
[git/gerrit] gerrit 을 사용한 여러 project 함께 빌드 (0) | 2018.04.26 |