間違った名前と電子メールを修正する方法

1886 ワード

あなたが複数のGitHubアカウントを持っていて、間違ったアカウントの下でコミットの束を作ることに終わるならば、あなたは何をしますか?あなたの支店をリセットし、資格証明書の右側のアカウントを再びすべての作業を開始?多分、それはより立派な方法です、しかし、時間があなたの側にないと仮定して、あなたが作るために多くの変化を持っていると、別の方法があります.
Gitは実際に開発者にばかげた量の自由を与えます.そして、警告が何か危険であるかもしれないとき、警告があなたに通知する傾向があるので、これは確かに何か危険です.
あなたの組織がブランチ履歴の変更を許可しないならば、あなたはあなたのチームと議論して、より良い方法を見つけたいかもしれません.

最後のコミットを変更するには
git commit --amend --author="Author Name <[email protected]>"

現在のブランチ内のすべてのコミットを変更するには
#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="[email protected]"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="[email protected]"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
あなたはそれがgit filter-branch -f --env-filterすべての変更は強制的にリモートブランチにプッシュされます.
git push -f