【问题标题】:Can't git pull because of unmerged files由于未合并的文件,无法 git pull
【发布时间】:2014-11-05 04:21:24
【问题描述】:

我对 git 还是很陌生,并试图弄清楚一切是如何工作的。所以这是我的情况:我一直在笔记本电脑上处理一个 java 项目。推送到 git 存储库并将其拉到另一台机器上。进行了一些更改并推送到存储库。现在我想将我当前的工作拉到我的笔记本电脑上,但它说我不能,因为我有未合并的文件。

Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'

请帮助纠正这个问题。谢谢。

$ git status
on branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

You have unmerged paths.
  (fix conflicts and run "git commit")

【问题讨论】:

  • 您使用的是命令行还是 GUI 工具?如果是命令行,请贴出git status的输出。
  • 所以您不关心您在尝试合并时所做的任何本地更改?你乐意用遥控器覆盖你本地的东西吗?
  • @Simon 是的。我只想用远程分支上的所有内容更新(覆盖)所有内容。
  • 你是否故意在 git status 的输出中遗漏了有冲突的文件列表?还是没有列出?

标签: git


【解决方案1】:

您有两个选择:完成当前合并或中止它。

  1. 要完成合并,您首先需要检查正在合并的文件。你可以这样做

    git status
    

    现在编辑文件以解决所有合并冲突。当您对已将代码恢复到工作状态感到满意时,您应该运行

    git add .
    git commit
    
  2. 另一方面,如果您想中止当前合并并删除所有本地更改,您可以这样做

    git reset --hard HEAD
    

    警告请务必小心使用此命令。它将删除您所有的本地更改,并且您将无法恢复它们。

最后,当您完成上述任一操作后,您就可以继续拉动。

【讨论】:

  • 如何编辑文件以解决所有合并冲突?几乎所有文件都给了我合并冲突。
  • @JinOh 与您编辑文件以首先编写代码的方式相同。您可以使用像 NotePad 这样的简单文本编辑器,或者像 Notepad++ 或 Sublime Text 这样更强大的编辑器,或者像 Eclipse 或 IntelliJ 这样的完整 IDE。后者可能更可取,因为他们也有帮助合并的工具。
  • 也许我的问题措辞错误。我不是在问如何从字面上编辑文件。您需要编辑什么以便我可以合并?或者,我只想将所有本地文件替换为存储库中的文件。 git reset --hard HEAD 对我不起作用。
  • @JinOh 合并冲突在文件中明确标记。 (提示:寻找意外的编译器错误。)如果您需要更多帮助,请描述“不起作用”的含义。
猜你喜欢
  • 2023-03-04
  • 1970-01-01
  • 2014-11-21
  • 2013-02-14
  • 2022-01-06
  • 2019-10-09
  • 2010-11-17
  • 2014-06-27
  • 1970-01-01
相关资源
最近更新 更多