私は自分のコミットで私の電子メールを変更する方法をChange the author and committer name and e-mail of multiple commits in Gitから見てきました。私はそれをプッシュしようとすると、しかし、私はこのエラーを取得する:Git:コミット時に電子メールを変更し、更新履歴をリモートリポジトリにプッシュするにはどうすればよいですか?
$ git push production master
To [email protected]<remote_server>
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]<remote_server>
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
それでは、私はリモートレポにコミットメール-変更コマンドを実行しようとしましたが、それはすべてあなたYou need to run this command from the toplevel of the working tree.
私は個人的に知っているこのレポには別のコミッターしかいません。プッシュが強制されるなら、彼は何か問題があるだろうか?彼はちょうどgit引っ張って普通にすることができます –
git-pullを実行すると、古い電子メールアドレスを持つ彼の古い履歴はすべて新しい書き換えられた履歴とマージされます(私はどのような衝突が起こるのか分かりません)両方のバージョンの履歴をリポジトリに保存します。あなたが彼の古いリポジトリを捨てて、新しいクローンを作るために彼と調整することができれば、それはうまくいくかもしれませんが、彼が現時点で他の改善をしたら、彼はそれらを失います。 **今はあきらめてはいけません。新しいコミットのために新しい電子メールアドレスを使用し、古いコミットだけを残してください。** –