github계정의 이메일과, 로컬 컴의 git 계정 이메일이 다르면 잔디가 심어지지 않는다....
기존에 커밋하였지만 적용안된 잔디는 깃로그의 이메일만 변경하고 푸쉬해주면 몇분 후 잔디가 심어진닼!

1) github email 확인 및 변경

- Setting -> Emails -> 메일 확인 or Add email address


2) local 환경에서 git email 확인 및 변경

2-1) mac OS
- git 설정 확인
$ git config --list

- 로컬환경에서 git 계정 이메일 변경
$ git config --global user.email "email_address"




3) 기존의 커밋한, 적용 안된 잔디 심기

3-1) git log 이메일 확인
- 브런치로 들어가서, 다음 명령어로, 해당 브런치의 git log 이메일 정보를 볼 수 있따
- 이전 이메일을 복사한다

$ git log --pretty=full



3-2) 이미 푸시된 작성자, 커미터 (Author, Committer) 변경
- toplevel of the working tree 에서 명령어 입력해야함
- 이메일만 변경해주면 된다

git filter-branch --force --env-filter '
WRONG_EMAIL="변경전 이메일"
NEW_NAME="새로운 이름"
NEW_EMAIL="새로운 이메일"

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

- Ref 'refs/heads/master' was rewritten -> 정상 처리



3-3) 수정된 작성자, 커미터 푸시

# 모든 브런치에 적용
git push --force --tags origin 'refs/heads/*'

# 특정 브런치에 적용
git push --force --tags origin 'refs/heads/develop'
git push --force --tags origin 'refs/heads/master'

git push --force --set-upstream origin 브랜치명




4) 기타
4-1) Error
Cannot rewrite branches: You have unstaged changes.
->
$ git status
git 상태를 확인하여 변경된 파일을 클린하게 해주고 다시 git filter-branch ~~ 해주면 된다..

'git > 1' 카테고리의 다른 글

github readme emoji icon  (0) 2023.06.06
git README.md 이미지 넣기  (0) 2022.04.21
github 파일/폴더 삭제  (0) 2021.07.03

+ Recent posts