所以我不确定这是否是一个已知问题,但让我们来看看发生的事情:
我在master上创建了一个功能分支,并开始处理我的功能
Master正在使用我自己的功能分支中没有的其他功能进行更新。
我完成了我的功能分支,并将master合并到我的功能分支中,以便在创建一个pull-request to master之前解决问题。另外,我结帐大师,并确保从原点git pull获取最新的主副本。
我在我的功能分支中运行git merge master
并发生合并冲突
我解决了这些冲突并添加了所有内容(冲突文件和新的/修改过的文件),然后提交。
我在功能分支中再次运行git merge master
并获取Already up-to-date.
现在我的问题是有些文件没有从master合并。 Master显然已经更改了文件,但在我的合并中没有被提取。所以现在当我提出我的拉请求时,它说我修改了一些我从未接触过的文件并试图撤消master中的更改。
有谁能告诉我我做错了什么以及如何解决这个问题?
答案 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
正如您所看到的,第一种解决方案更简单,更好。