GIT:如何在还原合并后从分支中提取更改

GIT: How to pull changes from branch after a reverted merge

希望标题不会很混乱。

历史(又名我做错了什么):

假设有两个分支,master 和 feature。 Feature 是一个分支,我在其中保留了一个较长的功能项目,并且我不时在该分支上使用 git pull origin master 来随时更新主代码的更改。

我不小心将功能合并并推入了 master。

它还远没有准备好,所以我试图恢复它。我试过以下:http://sethrobertson.github.io/GitFixUm/fixup.html#pushed_new_merge 但我想我做错了。我用了: git 还原 然后提交还原并推送它。问题似乎已解决 - 功能已更改,不再位于 master 上。

现在的问题是,当我尝试在功能分支上使用 git pull origin master 时,它不断删除我的文件并还原所有更改,因为它正在与 revert-commit 合并。 master 的负责人已经过去了,我需要从较新的提交中提取更改以继续使用功能分支。

我用谷歌搜索了这个主题,最有希望的答案是: https://metlos.wordpress.com/2012/01/13/git-merging-after-a-revert/ 但这里的合并方式与我想要的不同(要掌握的功能,我需要掌握功能)。

我正在考虑创建 master 的克隆分支,然后在该分支上应用 link 中的指令,这样我可以获得我需要的结果,但恐怕这是我需要的临时解决方案随时申请我想从大师那里拉。

这个故事我尽量不要乱,如果有什么不明白的地方我会澄清的。

如果您还没有将 master 分支推送到 team/public 存储库并且在 pull on master 之后您没有提交,您可以这样做

git reset --hard **the-commit-before-pulling-feature-branch**

master 分支上。这将有效地从历史中抹去错误,还一个干净的历史。

否则,(即,如果您已经将 master 推送到 repo 或在 master 上完成了更多提交),您可以这样做

git revert **the-revert-commit**

feature 分支上拉取 master 后,有效地还原了还原提交。