git config user.name 과 user.email 설정이 잘못되었을 경우 contribution에 표시가 안된다.
1. bare로 clone
git clone --bare https://github.com/user/repo.git cd repo.git
2. branch filtering
your-old-email@example.com을 이전 이메일
Your Correct Name는 바뀐 name
your-correct-email@example.com는 바뀐 이메일
git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
3. repository 덮어쓰기
git push --force --tags origin 'refs/heads/\*'
아래 사이트를 참고해서 수정 가능하다.
https://help.github.com/en/github/using-git/changing-author-info