이 게시글을 찾아들어온 분들이라면 커밋할때 사용하는 user.email과 github에서 사용하는 이메일이 같아야
contributions 즉, 잔디 심기가 된다는 것을 뒤늦게 아신분이라 생각이 든다.
내가 그랬기 때문이다^^
git을 2년 넘게 사용하면서 그저 협업의 용도, 버전 관리의 용도로 사용했지
내 github를 꾸밀 생각도 못했고 관심도 없었다.
하지만 최근에 '잔디 심기'라는 것을 알게되어 내 잔디 현황을 살펴보니
........? 왜 텅텅 비어있는거죠???
3번의 대학 협업프로젝트와 인턴 중 1번의 개인프로젝트를 통해 열심히 커밋을 했는데
왜 나는 민둥산인거지..? 멘탈이 무너졌다.
잔디 현황판을 통해 성실성을 보는 회사도 있다던데 나는 어떠케 되는거지 주륵
(근데 사실 별 상관은 없을것 같다)
하지만 슬퍼할 시간에 해결방안을 찾아야 했다.
우선 git bash에서 내 정보를 확인했다.
git config --global --list
만약 소스트리를 사용한다면
도구 > 옵션 > 일반 > 기본 사용자 정보를 통해 지정해놓은 이름과 이메일을 확인할 수 있고
리포지토리의 설정 > 고급 > 사용자 정보 에서 확인 할 수도 있다.
나의 경우 git config의 email에는 학교이메일이 쓰여져 있었다.
github 이메일은 네이버이메일이었다.
만약 이상황인데 이 글을 보았다면 아주 쉽게 해결할 수 있으니 안심해도 좋을 것 같다.
(나는 이걸 늦게 깨달아서 뻘짓을 두번이나 했다..)
바로 github계정에 email을 추가하면 된다!!
자신의 github계정에 로그인한 후
Settings > Access > Emails > Add email address
를 통해 커밋된 이메일을 추가해주면 된다.
그러면 아주 쉽게 잃어버렸던 잔디가 심어진것을 확인할 수 있을 것이다.
아래 스크립트는 모든 과거 히스토리를 뒤져서 이메일과 이름을 변경해준다.
기존의 커밋을 덮어씌우는 것이기때문에 현재 협업을 하고 있는 상태라면 조심해서 사용을 해야한다.
$ git filter-branch --env-filter
'WRONG_EMAIL="wrong@example.com"
NEW_NAME="New Name Value"
NEW_EMAIL="correct@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
이 명령어를 수행하면 기존의 커밋내역에서 WRONG_EMAIL을 찾아
시간과 순서는 유지한 채 NEW_NAME,NEW_EMAIL로 변경된다.
만족이양~~
'프로그래밍 > Git' 카테고리의 다른 글
[Git] 커밋한 내용 수정하기 (rebase) (0) | 2023.03.16 |
---|---|
[Git] README 작성하는 방법(이모지, 기술스택) (0) | 2022.10.08 |
[Git] CLI (Git Bash) 를 통해 Git 사용하기2 - Git 기초 (0) | 2022.07.11 |
[Git] CLI (Git Bash) 를 통해 Git 사용하기1 - CLI 기초 (0) | 2022.07.10 |
[ Git ] Conflict상황 시 해결 방법(visual studio merge tool 사용 방법) (0) | 2020.10.11 |