我有一個分支,幾乎所有提交都有錯誤的電子郵件"[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'之後,你應該將舊的遠程版本的分支視爲已經死亡。 –
哇,多好的想法,我有另一個分支是的。我會做一個副本,並嘗試你所說的話,然後強制合併到主。 –