我已经和Git进入某个州,现在我无法与Master同步。
下面的想法是放弃我在本地发生的任何冲突变化并使用Master中的内容。不幸的是,Git不允许我这样做。我已尝试删除文件,并按照Git的说明向git rm XXX
查询有问题的文件。它甚至在git reset --hard HEAD
之后失败。
如何强制Git获取远程文件的副本?
答案 0 :(得分:4)
git fetch --all
git reset --hard origin/master
答案 1 :(得分:3)
当您处于合并冲突中时,许多git命令不再像往常一样工作。
您仍然可以使用git checkout BRANCHNAME FILES...
,这是仅时间,您可以使用git checkout --theirs FILES...
和git checkout --ours FILES...
虽然如果你不了解它,你可能会考虑(互动)变基的好处。
答案 2 :(得分:1)
您要做的第一件事就是退出合并。您可以使用git merge --abort
执行此操作。然后,如果您愿意,可以将重置设置为origin/master
,但如果您这样做,则自上次推送以来,您将失去所有提交。如果您希望合并,通过支持服务器上的内容来解决所有冲突,请执行git merge -Xtheirs
。这对您来说是最安全的事情,因为您需要在历史记录中进行所有更改,以备需要重新参考。