我有一个 master
分支和一个 feature_swap
分支。我想继续并行处理这两个分支。我对 master
做了一些更改,然后提交。我想将 master
的一些算法更改应用于 feature_swap
分支,并查看该版本的工作原理。所以我做了
git pull origin feature_swap
收到这条消息
* branch feature_swap -> FETCH_HEAD
Auto-merging collator.h
Merge made by recursive.
我不想 merge 。相反,我只想将我在 master
上应用的一些选定更改放入 feature_swap
(可能通过复制粘贴)。如果这符合我的期望,我将再次提交那些更改的分支。我再次想要并行。
恐怕,我还没有完成 git push
。我可以在 git log
中看到 merge branch 'feature_swap'
。我现在需要做什么来恢复状态?
最佳答案
考虑到 git pull
的定义是 git fetch && git merge
, merge 并不意外。
您可能想改为执行 git rebase master
,这会将 master
中的提交重新应用到 feature_swap
上。结合 cherry-pick
,您可以指定您想要的提交。
要从远程获取
,只需使用git fetch
,它将从远程下载提交但不应用它们。
关于git pull 自动 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645787/