컴공생의 다이어리

[Git] 커밋(commit)들의 모든 작성자(Author) 일괄 변경 본문

Development/Git

[Git] 커밋(commit)들의 모든 작성자(Author) 일괄 변경

컴공 K 2021. 12. 11. 00:01

Git 커밋(commit)들의 작성자(Author) 일괄 변경

커밋들의 모든 작성자를 한 사람으로 일괄적으로 변경하는 방법이지 여러 사람과 했던 커밋들에서 나의 커밋만 변경하는 방법이 아니다. 또한 이 커밋들이 이미 원격저장소에 push되어 있는 경우 강제로 push를 해야 한다. 이때, 강제 push로 인해 원격 저장소에 존재하는 기존 커밋들은 새로운 해시 값을 가진 커밋들에 의해 전부 덮어쓰기 처리된다. 이로 인해 해당 저장소를 가지고 개발 작업을 하던 다른 사람이 있었다면, 이후 그 사람은 해당 저장소에 대해 푸시를 하거나 풀을 할 때 에러를 만나게 되니 상황을 잘 생각해보고 결정하는게 좋을 것 같다.

 

 

우선 아래 명령어를 통해 작성자 이름과 이메일을 일괄적으로 변경한다.

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='원하는 작성자 이름'; GIT_AUTHOR_EMAIL='원하는 작성자 이메일'; GIT_COMMITTER_NAME='원하는 작성자 이름'; GIT_COMMITTER_EMAIL='원하는 작성자 이메일';" HEAD
# 예시
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='TEST18'; GIT_AUTHOR_EMAIL='test18@gmail.com'; GIT_COMMITTER_NAME='test18'; GIT_COMMITTER_EMAIL='test18@gmail.com';" HEAD

 

그리고 아래 명령어를 통해 원격저장소에 강제로 푸시한다.

git push -f origin

 

 

 

 

 

https://it-eldorado.tistory.com/145

 

[Git] 이미 푸시된 커밋들의 작성자(Author) 일괄 변경하기 (feat. GitHub 잔디 누락)

1. GitHub Contribution (feat. GitHub 잔디) Git과 GitHub을 사용해본 개발자라면 분명 Git 저장소 생성 혹은 커밋 등의 기록이 GitHub Contribution이라는 형태로 GitHub에 기록되는 것을 본 적 있을 것이다. Co..

it-eldorado.tistory.com

 

728x90
Comments