我把自己弄得一团糟。
我承诺了一个重组更改,它将功能显著减少到master。(我承认这是个错误。)
这开始导致问题,因为使用应用了更改的程序是不可行的,但是我已经承诺对master进行进一步的、无关的改进。
因此,我在master上还原了重组更改,并在还原之前基于提交启动了一个新分支(比如restructure)。
现在的问题是,后来又对master作出了有价值的承诺,我想把它拉到restructure中,以缓解它的发展。但是git merge试图应用初始重组的还原-哎呀!
我不知道现在该怎么做,我觉得现在一个糟糕的决定可能会大大复杂化合并回到master以后。
更为复杂的是,restructure分支已经被推送。但是,如果它能清除所有这些混乱,我不介意使用git push --force;从那以后,只有少数人删除了存储库。
我承认,解决这个问题的真正办法可能无法回答所问的问题——这确实感觉像是一个XY Problem场景——但我必须在标题中加上一些东西:)
注意:我意识到所有这些都是一个糟糕的git工作流程的症状,这当然足够激励我在未来更正确地做事。但是,我不能追溯到没有做错事,所以我的问题仍然存在:)

最佳答案

既然你没推过师父?即使您也可以强制推送并重写历史记录,您也可以在master中git rebase -i并移除重组提交本身,而不是还原,然后从master本身创建restructure分支(因为您无论如何都要合并),并对其进行处理。

09-04 11:53
查看更多