0

所以我不确定这是否是一个已知问题,但让我们看看发生了什么:

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

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

  3. 我完成了我的功能分支,我将 master 合并到我的功能分支中,以便在创建 master 的 pull-request 之前解决问题。另外,我签出 master 并确保从 origin git pull 以获取 master 的最新副本。

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

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

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

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

4

1 回答 1

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

如您所见,第一个解决方案更简单、更好。

于 2016-02-22T21:26:39.533 回答