[Git] Commit Author 변경하기

 

문제 캡쳐 사진

현재 맥을 사용하고있는데 big sur가 아직 오류가 많은듯 싶어서 big sur로 업그레이드는 하기싫고, 현재 카탈리나 최종 업데이트 버전으로 업데이트 하고싶었는데 버전을 선택해서 업데이트할 수는 없었다. 

찾아보니 최종버전으로 업데이트 가능한 방법이 노트북 초기화뿐이였다.

초기화를하면 처음에 구매했을때 설치되어있던 OS의 최종 버전으로 설치가 된다.

그리고 노트북을 구매하고 코딩 공부하면서 이것저것 막 설치해보고 설정도 바꿔보고 했었다.

특히 국비학원다니면서 프로그램을 이것저것 많이 깔았었는데 현재는 사용하지 않아서 지운다고 지웠지만 깔끔하게 지워진것같지 않았다.

그래서 초기화를 했는데 ...


초기화 후 설정을 잘 마치고 난 뒤 코드 작성 후 commit 한다고 했는데 나중에 확인해보니 한글 내 본명으로 commit이 되고 있었다.

한글 본명이 노출된다는 점도 문제였고, commit 하여도 github 잔디밭에 잔디가 심어지지 않는 문제점이 발생했다.

해당 문제를 해결하기 위해서 한국 블로그들도 참고해봤는데 조금 햇갈릴만하게 적은 부분들이있었는데 stakoverflow가 설명이 제일 간결하면서도 좋았다.




해결 방법 순서

1. 일단 github에서 commit 내역을 확인하거나, 해당 프로젝트를 git clone 한 뒤 $ git log 를 찍어보면 로그내역이 출력된다.



2. 수정하고자 하는 commit 내역의 바로 이전의 hash코드를 복사한 뒤 아래 처럼 입력
$ git rebase -i <<hash 코드>>

또는 

수정하려는 commit 이전의 hash코드 말고 수정하고자 하는 commit의 hash코드 값에 ^ 기호를 붙이기
$ git rebase -i <<hash 코드^>>


^ 특수 기호를 작성하면 해당 commit 이 바로 선택된다.

특수 문자 없이 작성할 경우에는 이전의 hash 코드 값을 작성해야지만 수정하고자하는 commit 내역이 선택된다.



3. 위에 코드를 입력하면 아래의 사진과 같이 vim editor로 들어와진다.



내역에는 내가 선택한 commit 뒤에 commit 한 내역 모두가 출력된다.

여기서 내가 수정하고자하는 commit 내역에 대해서 pick 이라는 단어를 edit 또는 e 라는 문자로 바꾸어준다.


vim editor 사용방법

i 키를 누르면 vim editor 내용을 편집할 수 있게된다.

pick을 edit으로 변경한 뒤 ESC를 눌러서 편집을 종료한다.

그다음 :wq 를 입력해서 vim editor를 종료한다.



4. vim editor를 나오면 아래와 같이 출력되며, 아래 명령어 입력하기

$ git commit --amend --author="Author Name <email@address.com>" --no-edit



5. 위 명령어를 입력하면 아래와 같이 출력된다.

pick을 edit으로 변경한 내역이 1개면 바로 Successfully rebase and updated 샬라샬라 라고 나올것이다.

만약 pick을 edit으로 변경한 내역이 더 있다면 그중에 한가지만 변경된것이기때문에 아래의 명령어로 반복해서 해당 commit 내역을 수정해주어야한다.

edit으로 편집한 commit 내역 중 가장 오래된 내역의 commit 내역부터 순서대로 처리된다.


$ git rebase --continue

$ git commit --amend --author="Author Name <email@address.com>" --no-edit


반복하여 수정이 완료 되면 아래와 같이 Successfully rebased ~~~~ 라고 출력된다.




6. 마지막으로 변경된 내역을 github에 업데이트 하려면 아래 명령어를 입력한다.

$ git push origin -f master



아래 처럼 변경된 것을 확인할 수 있다.




참고 stackoverflow 주소

https://stackoverflow.com/questions/3042437/how-to-change-the-commit-author-for-one-specific-commit



댓글