Git冲突保留原始上游

3
我复制了一个github仓库。只是稍微玩一下代码,创建了一个分支并提交了本地更改。现在原始代码已经更新,所以我想删除我对分叉的任何更改,并获取上游所做的更改。
如果我这样做,就会出现冲突。
git fetch upstream
git merge upstream/master
#Automatic merge failed; fix conflicts and then commit the result.

并且给出了两个文件名,显示了我从未做过的一些更改。

因此,我执行了git status命令,它给出了一个新的文件名(这个文件名不是我创建的,而是由我的上游创建的),以及未合并的路径:

#   (use "git add/rm <file>..." as appropriate to mark resolution)

对于两个文件。

我希望得到全部新的更改并丢弃我的更改。可能的解决方案是什么,为什么GIT要求我添加一个我从未创建过的文件?


所以你想让我做类似于 git fetch orgin 然后 git reset --hard origin/master 的操作?在这种情况下,我应该从哪里获取上游的更改呢? - dibs_ab
我按照你提供的链接所建议的做法后,仍然收到相同的冲突信息。 - dibs_ab
1个回答

4

放弃冲突合并:

git merge --abort

然后将本地repo设置为与upstream相同的提交,丢弃本地更改:

git reset --hard upstream/master

关于你的问题:
为什么GIT让我添加一个我从未创建过的文件?
它并没有。它告诉你解决你修改的文件中的冲突,然后在这些文件上运行git add <file>,标记编辑版本为已解决并可以提交。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接