关于github:git冲突保持原始上游

git conflict keep original upstream

本问题已经有最佳答案,请猛点这里访问。

我从Github复制了一份回购协议。只是在代码周围玩了一会儿,做了一个分支提交本地更改,现在原始代码被更新了,所以我想删除我对fork所做的一切,并得到上游所做的更改。

如果我有冲突的话

1
2
3
git fetch upstream
git merge upstream/master
#Automatic merge failed; fix conflicts and then commit the result.

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

所以我做了一个git状态,它给了我一个新的文件名(我从未做过,但是由上游创建的)和未合并的路径:

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

两份文件。

我想要所有新的改变,摧毁我的。可能的解决方案是什么?为什么Git要我添加一个从未创建过的文件?


中止冲突合并:

1
git merge --abort

然后将本地回购设置为与上游相同的提交,放弃本地更改:

1
git reset --hard upstream/master

关于你的问题:

why does GIT wants me to add a file I never made?

它不是这样的。它告诉您解决所更改文件中的冲突,然后在这些文件上执行git add ,将编辑后的版本标记为已解决并确定提交。