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