【问题标题】:How to solve merge conflicts if I only want to pull files to local server?如果我只想将文件拉到本地服务器,如何解决合并冲突?
【发布时间】:2014-01-14 13:30:47
【问题描述】:

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

【问题讨论】:

  • 我不知道你到底想要什么,你想覆盖你的本地文件吗?或者你想下载远程文件而不覆盖本地文件?还是什么?
  • @Mohammed:是的,我想覆盖我的本地文件。

标签: git unix pull


【解决方案1】:
  1. 有关 git 冲突的信息存储在索引中,而不是工作树中。它们是通过使用git add 添加已解决的内容来解决的。由此可见,删除本地文件不会有任何影响。

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

  3. 因此冲突发生在之前签出的分支和要拉取的分支之间

我想您希望获得您提取的确切内容,对吧?那样的话

`git reset --hard origin/master`

应该是最快的方法。它告诉 git 检查从 origin 提取的分支 master 的内容(如果您使用不同的分支,请适当调整),覆盖工作树的任何先前内容,并使当前分支指向该修订。

【讨论】:

  • 是的,这有帮助!感谢您的帮助和结构合理的答案!
猜你喜欢
  • 2013-03-13
  • 2012-04-20
  • 2020-01-21
  • 2020-07-21
  • 1970-01-01
  • 1970-01-01
  • 2015-09-23
  • 2018-01-30
  • 1970-01-01
相关资源
最近更新 更多