🐣 Computer Science

[Git] GitHub author 변경하기

dmaolon 2023. 6. 2. 18:25

들어가며

팀원이 제 노트북을 이용하게 되면서, Github의 작성자(Author)를 팀원 계정으로 설정 해준 적이 있습니다.

추후에 알고리즘 문제를 풀고 열심히 Commit & Push를 하다가 나중에서야 이 사실을 깨닫게 되어 수정해주었는데요.

 

따라서, Github Commit의 Author를 변경하는 방법과, Git Rebase 명령어를 이용한 커밋 이력 변경 방법을 정리하여 소개합니다.


 

❏ GitHub Author 변경하기

❍ Git Log 확인하기

시작하기 전에 먼저 Git Log를 확인하여 변경하고자 하는 커밋을 확인해봐야 합니다.

git log

git log

 

해당 명령어를 통해, 우리는 커밋의 해시값, Author, Date, Commit Message과 같은 커밋 기록을 확인해볼 수 있습니다. 해시값을 기억해두고, 다음 과정을 이어가보겠습니다.

❍ Git 계정 정보 변경하기

git config --global user.name {~~}
git config --global user.email {~~}

새롭게 이름과 이메일을 설정합니다. 여기서 —global은 모든 Repository에서 사용되는 계정을 지정해주게 되며, 만약 해당 Repository에만 적용하고 싶다면 —local을 이용하면 됩니다.

 

❏ Rebase를 이용하여 커밋 변경하기

❍ Git Rebase

git rebase

 

git rebase는 branch의 base 지점부터 코드를 수정하고, base 지점을 재설정하여 기존에 있던 Commit 이력을 재정렬하는 작업입니다. 따라서, Commit의 흐름을 보기 좋게 한 줄로 만들 수 있다는 점이 특징입니다.

 

❍ 변경할 Commit 선택하기

git rebase -i {commit의 해시값}

또는

git rebase -i HEAD~{n}

해시값으로 커밋 하나만 변경하거나, HEAD~n으로 가장 최신 커밋을 의미하는 HEAD로부터 n개까지의 커밋을 변경할 수 있습니다.

vi 편집기가 열리게 되며, commit 리스트 앞에 pick이라고 되어있는 부분을 수정하겠다라는 의미로 e로 변경해주고, esc → :wq로 저장하고 나오면 끝.

 

❍ Author 변경

이렇게 변경할 Commit을 선택하고, Author을 아래의 명령어를 이용하여 수정합니다.

git commit --amend --author="홍길동 <ABC@email.com>"

이렇게 작성자 변경까지 완료입니다.

HEAD~n으로 rebase를 시작했다면, 아래의 명령어를 통해 해당 프로세스를 반복하면 됩니다.

git rebase --continue

 

❍ Push하여 반영하기

이렇게 수정된 커밋들은 최종적으로 Push하여 원격에 반영을 해주어야 하는데요. 강제로 Push를 해주어야 반영이 되기 때문에, 혼자서 사용하는 Repository에서 사용해주는 것이 좋습니다.

git push --force

여기까지 진행하게 되면, GitHub Repository에서 내가 바라던 대로 반영된 커밋을 확인해볼 수 있습니다.

반응형