一些糟糕的提交与上游主服务器合并,之后我从上游主服务器中取出后,我的功能分支也被污染了。使用樱桃挑选 - 我能够清理上游主机,但现在如果我将本地代码合并到已清理的主机,它将再次受到污染。
我甚至无法丢弃我所有的本地更改,因为有相当多的相同内容。在这种情况下,rebase会有帮助 - 或者我可以合并我的本地更改,除了本地的错误代码。
所有当地人的樱桃选择并不是一个选择,因为开发环境是高度分布的。
谢谢!
答案 0 :(得分:0)
一旦更改上游,您就会丢失。当然,您可以重新设置,删除不良提交然后git push -f
,但这在共享仓库中被认为是不好的做法。
您可以按相反顺序尝试git revert
错误提交。虽然糟糕的提交仍然存在于历史中,但错误的代码将从工作副本中消失。
然后将恢复提交推送到上游仓库。