问题描述
昨晚我在自动驾驶仪上,不知不觉地将一个大型功能feature/bigfeature
分支合并到我们的develop
分支中,并将其推送到远程origin/develop
。我希望开发完全完好无损。
此功能分支已经开发了数周,并且我们的部分工作流程一直在不断地将起源/开发并入其中。这使得撤消合并/推送变得困难(不可能?)
iceddante$ git checkout develop
iceddante$ git merge origin/feature/bigfeature
Updating 94c8d1f0..298b93fe
fast-forward
<< lots of files >>
iceddante$ git push
Total 0 (delta 0),reused 0 (delta 0)
To https://github.com/Kinesso/api-reach-optimization.git
94c8d1f0..298b93fe develop -> develop
随着时间的推移,每个分支都有几次提交,不清楚历史如何解开。我尝试执行合并提交还原:
git revert 94c8d1f0 -m 1
但这仅是将最后一次将原始/展开合并到功能分支中之后的狭窄提交范围。我在reflog中确定了合并:
19f1ac1b (origin/feature/MPL-5178,feature/MPL-5178) HEAD@{16}: checkout: moving from develop to feature/bigfeature
298b93fe HEAD@{17}: merge origin/feature/bigfeature: fast-forward
94c8d1f0 HEAD@{18}: pull: fast-forward
19553db9 HEAD@{19}: checkout: moving from feature/bigfeature to develop
所以我知道我可以做一个git reset --keep develop@{N}
,但同样,我似乎失去了许多与bigfeature不相关的其他合并到origin / develop中的合并。我猜想策略将是回到过去,开始做点樱桃。但是还有另一种方法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)