我有一个分支,几乎所有提交都有错误的电子邮件"[email protected]"
,我想将该电子邮件更改为我目前的电子邮件"[email protected]"
。Git - 分支提交历史重复
搜索时,我发现这一点:
git filter-branch --commit-filter 'if [ "$GIT_COMMITTER_EMAIL" = "[email protected]" ];
then
export GIT_AUTHOR_NAME="Sandrina Pereira";
export [email protected];
export GIT_COMMITTER_NAME="Sandrina Pereira";
export [email protected];
fi; git commit-tree "[email protected]"'
See here the difference between COMMITTER and AUTHOR。真正改变commit auth非常重要,否则wit会显示mynew
在oldnew
原始提交下做了提交。在这里我想改变作者和提交者。
然后我做了git commit -am "change author"
,git pull
和git push
。
的问题是,现在你can see here
我搜索如何删除这些提交,我发现这一切我都提交重复:
git filter-branch --commit-filter '
if [ "$GIT_AUTHOR_EMAIL" = "[email protected]" ];
then skip_commit "[email protected]";
else git commit-tree "[email protected]";
fi' HEAD
但我没有尝试,但.. 。 我该怎么办?
并在下一次我想更换电子邮件提交什么是正确的命令,以避免这种混乱?
谢谢你再次解释我。我不是git的专家,所以这些命令对我来说仍然是一个迷雾。我会仔细阅读这个问题,并尝试解决这个混乱。 –
如果我在这种情况下,我会尽力回到你开始的地方。也许你有另一个非常相似的分支,你可以使用它?只要记住当你完成时强行推动,并且不要从遥控器拉东西;在'filter-branch'之后,你应该将旧的远程版本的分支视为已经死亡。 –
哇,多好的想法,我有另一个分支是的。我会做一个副本,并尝试你所说的话,然后强制合并到主。 –