解决冲突后,git不会合并所有文件

时间:2016-02-22 21:21:15

标签: git git-merge git-merge-conflict

所以我不确定这是否是一个已知问题,但让我们来看看发生的事情:

  1. 我在master上创建了一个功能分支,并开始处理我的功能

  2. Master正在使用我自己的功能分支中没有的其他功能进行更新。

  3. 我完成了我的功能分支,并将master合并到我的功能分支中,以便在创建一个pull-request to master之前解决问题。另外,我结帐大师,并确保从原点git pull获取最新的主副本。

  4. 我在我的功能分支中运行git merge master并发生合并冲突 我解决了这些冲突并添加了所有内容(冲突文件和新的/修改过的文件),然后提交。

  5. 我在功能分支中再次运行git merge master并获取Already up-to-date.

  6. 现在我的问题是有些文件没有从master合并。 Master显然已经更改了文件,但在我的合并中没有被提取。所以现在当我提出我的拉请求时,它说我修改了一些我从未接触过的文件并试图撤消master中的更改。

    有谁能告诉我我做错了什么以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你的问题在这里:

git merge master

问题是什么以及如何解决?

您正在将您的本地分支与您的遥控器合并。

如何解决?

使用git pull origin master代替git merge master

上一个命令有什么作用?

当你从原点掌握它时,它会抓住"来自远程存储库的代码,而不是来自本地主分支的代码。

另一种解决方案可能是这样的:

# Work on your current branch and commit

# Checkout master branch locally
git checkout master

# now update the local copy with the remote code
git pull origin master

# now switch back to your previous branch
git checkout <branch name>

# merge the updated master to your current branch
git merge master

正如您所看到的,第一种解决方案更简单,更好。