user.name, user.email을 여러 기기에서 변경하면서 사용하다보니 꼬이게 되었다.
내 잔디밭을 가꾸기 위해서..! 커밋 작성자를 변경해보도록 한다.
1. git config로 현재 user.name , user.email 확인하기
global로 설정했을 경우 --global 옵션을 추가하면 됨.
나의 경우는 한 pc에서 개인 계정 & 회사 계정을 동시에 사용하고 있어서 global 옵션은 사용하지 않았다.
git config user.name
git config user.email
2. user 변경
git config user.name "변경할 이름"
git config user.email "변경할 이메일"
3. 이미 커밋된 리스트 한 줄로 확인하기
git log --oneline
여기서 변경하고자 하는 커밋의 바로 직전 해시값을 복사해둔다.
* 만약 커밋 메세지가 여러개라면, 변경해야할 커밋 중 가장 오래된 커밋 해시값을 복사한다. (안그러면 같은 행동을 n번 해야됨;;)
4. rebase 로 변경한다.
git rebase -i "커밋 해시값"
5. 커밋 메세지 변경내용 란에 "pick" -> "e"로 변경한다.
(순서대로 진행)
- vi : 에디터 기능 on
- i : 편집 on
- pick "해시값" → e "해시값" 으로 변경
- esc : 편집 off
- :wq! : 저장 후 에디터 기능 off
6. 터미널에 git rebase 옵션으로 두 가지가 나오는데, 그 중 amend 사용
git commit --amend --author "변경한 이름 <변경한 이메일@주소.com>"
* amend : 개정하다, 고치다, 수정하다의 의미
여기까지 입력하면, 다시 편집 기능이 켜지는데, :wq!로 저장하고 다시 나와준 다음,
7.
git rebase --continue
를 변경할 커밋 횟수만큼 반복하면 된다.
8. git 강제로 push하기
git push origin main -f
or
git push origin +main
* 해당 레포의 default 브랜치가 main 인지 master 인지 확인할 것
* remote 저장소명 = origin
참고 :
https://eggwhite0.tistory.com/93?category=978776
'git' 카테고리의 다른 글
mac에서 git log 한글 깨짐 (zsh) (0) | 2022.12.10 |
---|---|
[Github Action] 프론트 AWS S3+네이버 클라우드(ncloud) 연동 배포 (0) | 2022.11.14 |
git remote url 변경 (0) | 2022.10.27 |
github 계정 최초1회 로그인 후 자동 저장 (0) | 2022.08.29 |
[git] commit, push 취소하기 (0) | 2022.07.31 |