git 임시로 committer, author 바꿔 commit 하기

OS/linux 2021. 12. 10. 22:42
반응형

환경 변수에 committer 와 author 를 설정 하면 git 명령 실행시 참조 하게됨

commit.sh

#!/bin/sh

NEW_NAME="testtest"
NEW_EMAIL="testtest@testmail.com"
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"

git commit

기존 commit 에서 특정 이름 변경 하기(git push --force 가 가능해야함)

changeCommit.sh

#!/bin/sh

git filter-branch --env-filter '
OLD_EMAIL="oldold@old.com"
NEW_NAME="newnew"
NEW_EMAIL="newnew@new.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$NEW_NAME"
    export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$NEW_NAME"
    export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

# push modification
# git push --force --tags origin HEAD:main
반응형
: