0

昨晚我在自动驾驶,不知不觉中将一个大型功能feature/bigfeature分支合并到我们的develop分支中并将其推送到远程origin/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 但这只是在最后一次将 origin/develop 合并到功能分支之后恢复了狭窄范围的提交。我在 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 无关的原始/开发合并。我想策略是回到过去并开始挑选樱桃。但是还有其他方法吗?

4

0 回答 0