以下问题:我想将文件从git存储库获取到本地测试服务器。但是我的测试服务器上有很多旧文件。 git pull不起作用并导致合并冲突,所以我试图删除所有本地文件,并想再次尝试。但即使冲突的文件不再存在,合并冲突仍然存在。怎么解决?我试图用git diff --name-only --diff-filter=U
vi文件名显示和打开文件 - 但我无法解决这个问题因为文件不再存在了。有什么建议吗?
答案 0 :(得分:2)
有关git冲突的信息存储在索引中,而不是工作树中。通过使用git add
添加已解析的内容来解决问题。因此,删除本地文件不会产生任何影响。
git pull
永远不会与本地文件产生冲突。它会抱怨你的工作目录不是干净的。因此,删除本地文件将无济于事(如果您在运行git pull
之前执行此操作,则会导致它抱怨工作目录不干净且无法执行任何操作)。
因此冲突发生在之前签出的分支与您想要提取的分支之间。
我想你想要获得你提取的确切内容,对吧?在那种情况下
`git reset --hard origin/master`
应该是最快的方式。它告诉git检查从master
拉出的分支origin
的内容(如果使用不同的分支则适当调整),覆盖工作树的任何先前内容,并使当前分支指向那次修改。