我从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要我添加一个我从未做过的文件?
答案 0 :(得分:3)
中止冲突的合并:
git merge --abort
然后将您的本地仓库设置为与上游相同的提交,丢弃本地更改:
git reset --hard upstream/master
关于你的问题:
为什么GIT要我添加一个我从未做过的文件?
没有。它告诉您解决您更改的文件中的冲突,然后git add <file>
解决这些文件中的冲突,将已编辑的版本标记为已解决且可以提交。