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

ef.*_*ef. 9 git merge github git-pull git-revert

我希望标题不是很混乱.

历史(又名我做错了):

假设有两个分支,主要和特征.功能是一个分支,我保留一个较长的功能项目,并不时在该分支上使用git pull origin master来保持更新主代码的更新.

我偶然合并并将功能推入主人.

它还没有准备好,所以我试图恢复它.我试过以下:http://sethrobertson.github.io/GitFixUm/fixup.html#pushed_new_merge 但我想我做错了.我用过:git revert然后提交恢复并推送它.问题似乎已经解决了 - 这个功能在主人不再变化

现在的问题是,当我尝试在功能分支上使用git pull origin master时,它会继续删除我的文件并恢复所有更改,因为它正在与revert-commit合并.主人的头是过去的那个恢复,我需要从更新的提交中拉出更改继续功能分支.

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

我正在考虑创建master的clone分支,然后应用来自该分支上的链接的指令,这样我就可以得到我需要的结果,但是我担心这是一个临时解决方案,我需要随时应用我想要从master中提取.

我最好为这个故事不要乱,如果有些事情是不可理解的,我会澄清.

beh*_*uri 3

如果您尚未将 master 分支推送到团队/公共存储库,并且在拉取 master 后没有提交,您可以这样做

git reset --hard **the-commit-before-pulling-feature-branch**
Run Code Online (Sandbox Code Playgroud)

在主分支上。这将有力地消除历史上的错误,还清历史。

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

git revert **the-revert-commit**
Run Code Online (Sandbox Code Playgroud)

在拉取 master 后在功能分支上,有效地恢复恢复提交。