git冲突保持原始上游

时间:2013-02-13 11:36:02

标签: git github

我从github复制了一份回购。只是稍微玩了一下代码,使得一个分支提交在本地更改,现在原始代码已更新,所以我想删除我对fork执行的任何操作并获取上游所做的更改。

如果我这样做,就会发生冲突

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

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

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

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

两个文件。

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

1 个答案:

答案 0 :(得分:3)

中止冲突的合并:

git merge --abort

然后将您的本地仓库设置为与上游相同的提交,丢弃本地更改:

git reset --hard upstream/master

关于你的问题:

  

为什么GIT要我添加一个我从未做过的文件?

没有。它告诉您解决您更改的文件中的冲突,然后git add <file>解决这些文件中的冲突,将已编辑的版本标记为已解决且可以提交。