【问题标题】:Git pull is not possible because you have unmerged filesGit pull 是不可能的,因为你有未合并的文件
【发布时间】:2015-07-10 03:07:13
【问题描述】:

当我尝试从 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>'
as appropriate to mark resolution, or use 'git commit -a'.

我尝试存储更改,但在存储拉取不起作用后,请求合并。

如何在不提交/添加现有的情况下提取更改?

【问题讨论】:

标签: git


【解决方案1】:

先备份冲突文件!


然后执行:

git fetch origin
git reset --hard origin/master (or your branch name)

如果你想恢复冲突文件或比较它们,你应该得到完整的 git 存储库代码。

【讨论】:

    【解决方案2】:

    不是因为您正在进行合并吗? 你做完了吗

    $ git merge --abort 
    

    这将取消正在进行的合并。之后,您应该可以拉动。如果发现一些冲突,拉动可能会引发新的合并。 请注意,“合并中止”将取消在合并上下文中所做的任何修改。

    【讨论】:

    • 我不想在尝试提取数据时从本地删除更改。意味着如果从本地和服务器更改相同的文件,它会在拉出我想要的内容时合并并产生冲突。那么,它会为此工作吗?还是会忽略需要合并的文件?
    【解决方案3】:

    为了同时保留您的更改,请先提交或存储您的更改,有些文件存在冲突。 从以下link安装kdiff3作为合并工具

    现在执行 git pull 时,控制台会显示更改,输入 git mergetool -y 并手动合并更改。

    【讨论】:

      【解决方案4】:

      我不确定你想做什么,但如果它拉动并删除你的更改,那么 git reset 就是你需要做的。

      见:http://git-scm.com/docs/git-reset

      你想要的大概是

      git reset --hard
      

      请注意,这将删除您对文件所做的任何更改!

      之后,拉动应该会起作用。

      【讨论】:

      • 我不想在尝试拉取数据时从本地删除更改。意味着如果从本地和服务器更改相同的文件,它会在拉取我想要的内容时合并并产生冲突。
      【解决方案5】:

      您可以通过签出一个新分支并在那里提交您的更改来解决这个问题。然后,您可以按预期从远程强制更新主分支,并在本地合并代码。但这就是为什么在自己的分支中进行新工作是理想的。

      【讨论】:

        【解决方案6】:

        试试下面的命令:

        git fetch origin
        git reset --hard origin/master
        git pull
        

        【讨论】:

          猜你喜欢
          • 2013-02-14
          • 2012-10-09
          • 2023-03-04
          • 1970-01-01
          • 2019-10-09
          • 1970-01-01
          • 2020-10-25
          • 1970-01-01
          • 2015-08-17
          相关资源
          最近更新 更多