如果我只想将文件拉到本地服务器,如何解决合并冲突?

时间:2014-01-14 13:30:48

标签: git unix pull

以下问题:我想将文件从git存储库获取到本地测试服务器。但是我的测试服务器上有很多旧文件。 git pull不起作用并导致合并冲突,所以我试图删除所有本地文件,并想再次尝试。但即使冲突的文件不再存在,合并冲突仍然存在。怎么解决?我试图用git diff --name-only --diff-filter=U vi文件名显示和打开文件 - 但我无法解决这个问题因为文件不再存在了。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

  1. 有关git冲突的信息存储在索引中,而不是工作树中。通过使用git add添加已解析的内容来解决问题。因此,删除本地文件不会产生任何影响。

  2. git pull 永远不会与本地文件产生冲突。它会抱怨你的工作目录不是干净的。因此,删除本地文件将无济于事(如果您在运行git pull之前执行此操作,则会导致它抱怨工作目录不干净且无法执行任何操作)。

  3. 因此冲突发生在之前签出的分支与您想要提取的分支之间。

  4. 我想你想要获得你提取的确切内容,对吧?在那种情况下

    `git reset --hard origin/master`
    

    应该是最快的方式。它告诉git检查从master拉出的分支origin的内容(如果使用不同的分支则适当调整),覆盖工作树的任何先前内容,并使当前分支指向那次修改。