3

我从 github 复制了一个 repo。只是在玩了一下代码,提交了一个在本地更改的分支,现在原始代码已更新,所以我想删除我对 fork 所做的任何事情并获取上游所做的更改。

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

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 要我添加一个我从未制作过的文件?

4

1 回答 1

4

中止冲突的合并:

git merge --abort

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

git reset --hard upstream/master

至于你的问题:

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

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

于 2013-02-13T11:57:38.467 回答