[Github] 잔디 누락! 원격 저장소에 push 된 commit의 author 변경

임시은·2024년 4월 15일
0

형상관리

목록 보기
3/6

🌋 문제 발견

  • 분명 푸쉬까지 완료 했는데 잔디가 심어지지 않을 때가 있다.

📚 잔디(Contributions) 채워지는 조건

  1. gitbub 계정 이메일과 커밋할 때 사용한 이메일 주소 (로컬 저장소의 user.email)이 동일
  2. branch 종류
    • 저장소의 default branch (보통 main/master)
    • gh-pages
  3. forked repo에서 작업시 merge 되어야함

🔍 문제 파악
나는 대부분의 경우와 같이 이메일 주소에 오탈자가 있어서 잔디가 심어지지 않았다.
원격 저장소에 이미 push 된 커밋이지만 author을 변경하면 해당 날짜에 잔디를 심을 수 있다.


💌 깃 허브 계정 이메일 확인하기

setting -> Emails ->Primary email address


💌 터미널에서 user 이메일 확인하기

git config user.email

💌 터미널에서 user 이메일 변경하기

git config --global user.email 변경할이메일주소


🌳소스트리에서 사용자 정보 확인 및 변경하기

도구-> 옵션
기존에 적힌 것을 확인하고 바르게 고친다.

터미널을 통해 바꿨다면 두번 수정할 필요 없다.


📝 author 변경하기

  1. 커밋 해시 확인하기
    • 터미널에서 확인
    • git log 명령어 입력후 앞자리 7개

    • 소스트리에서 확인

❗ 바꿔야하는 커밋이 아니라 이전 커밋 해시를 알아야한다!


1. rebase 명령어

git rebase -i 해시

2. pick->edit

  • i 입력하면 하단이 아래와 같이 바뀌고 내용을 수정할 수 있다.

  • pick을 edit 이나 e로 바뀌준다.

  • esc 누르고 :wq 으로 나간다.
    아래와 같이 나오면 성공한 것이다.

3. Author 수정하기

git commit --amend --author="변경할이름 <변경할@email.com>"
  • 입력하면 아래와 같은 창이 나온다.

  • i 입력 후 Author를 바르게 고친다. 이후 esc 누르고 :wq 으로 나간다.
    만약 기존에 Author가 없어도 놀라지 말고 그냥 직접 적어주면 된다.

4. 다음 커밋으로 넘기기

git rebase --continue
  • 다음 커밋으로 넘어가서 수정한다면 git commit --amend, 넘긴다면 git rebase --continue 이를 반복한다.

    끝까지 완료 하면 위와 같다.

5. 확인하고 push 하기

  • git log로 바뀐 것 확인, git push -f 으로 강제로 push 해준다.

0개의 댓글