我有一个被推送到远程并被其他人下载的仓库。在历史记录中有一个由我所做的提交引入的错误。令人尴尬的是,提交它很笨拙(一次提交中逻辑太多)。除了回到过去并用湿面条敲打我过去的自我之外,正确的做法是使用交互式 rebase 将提交拆分为多个。
可悲的是,这已经被其他人推送和克隆了(如果我从他们下面重新定位,他们会非常不高兴)。所以我想我可以分支、恢复提交、cherry-pick 提交、交互式 rebase,然后合并。这是最好的选择还是我错过了什么?
我可以通过还原然后拆分来拆分已发布的提交吗?
A--B--C--D--E--F (master origin/master)
^- WTF commit
A--B--C--D--E--F-------------------M (master origin/master)
\ /
G--C1--C2--C3--C4 (split-and-fix-branch)
^- revert commit C