🚨 문제
Local에서 작업 내용이 push는 되는데, Contribution Graph에서 조회되지 않음
😮 원인
Local에 사용자 이메일 설정이 잘못되어있음
미니 프로젝트를 만들면서 소스트리를 추가적으로 사용했는데, 당시 이메일을 수정
→ Global Config는 수정하지 않은 것으로 생각해서 작업 진행
🤓 해결 방법
1. Git bash에서 다음 명령어로 user email 확인
1
2
|
git config --global user.email
|
2. Github 이메일과 동일한지 확인
3. 다를 경우, user email 수정
1
2
|
git config --global user.email Github_이메일_주소
|
✍️ 의문의 사용자 이메일로 된 Commit 변경하기
제가 작성한 커밋을 제가 작성했다고 만들기 위해 추가적인 작업을 해보고자 합니다.
1. rebase 진행
1
2
|
git rebase -i commit_hash^
|
commit_hash는 source tree 또는 github에서
* 3 minutes ago에 있는 commit hash값을 사용(가장 최신 커밋내용을 변경하고자 할 경우)
* 회종시계모양 N commits 클릭
* 수정 내역 클릭 후,
최하단에서 확인
🚨 만일, 프로젝트 첫 커밋부터 rebase를 해야할 경우,
1
2
|
git rebase -i --root
|
커밋 로그 대신 --root를 입력해주셔야 합니다.
2. vi 편집기로 창이 변경되면,
- i를 눌러 insert 모드로 변경
- author를 변경할 부분에 pick을 e로 변경
- esc 후, :wq 입력하여 변경내역 저장 후 종료
3. 수정할 author name 및 email 입력
1
2
3
|
# Ex. git commit --amend --author "HJ0216 <6120hj@gmail.com>"
git commit --amend --author "USER_NAME <USER_EMAIL>"
|
4. vi 편집기 창으로 변경되면,
- :wq 입력하여 저장 후 종료
5. rebase 진행
1
2
|
git rebase --continue
|
🙂 저는 rebase할 commit log가 1개뿐이였지만(=pick에서 e로 고친 부분이 1개), 여러 개인 경우에는 3 ~ 5번 작업을 e로 고친 부분만큼 반복해주시면 됩니다.
* 키보드에서 화살표 윗방향 키를 누르면 기존에 사용했던 명령어를 재사용할 수 있으므로 작업이 여러개일 경우, 화살표를 이용하시면 편리합니다.
6. 강제 push 진행
1
2
|
git push origin +main
|
rebase한 내용을 강제로 push하기 위해 branch 앞에 +를 추가로 입력
7. 최종 (Forced Update) 확인
📚 참고 자료
'DevOps > Github' 카테고리의 다른 글
[Github] Issue 작성하기 (0) | 2023.10.02 |
---|---|
[Github] Repository Short Description Setting (0) | 2023.02.25 |
[Github] Rename a Folder (0) | 2023.01.15 |