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 后,有效地还原了还原提交。
希望标题不会很混乱。
历史(又名我做错了什么):
假设有两个分支,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 后,有效地还原了还原提交。