git:由于您有未合并的文件,因此无法进行拉取

时间:2017-09-25 11:28:56

标签: git bitbucket

我正在使用php-git客户端在我的php脚本中提取分支。 每当我从主人办理结账到测试时,都会出现以下错误。

error: Pull is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

我的文件在bitbucket服务器上。我在bitbucket上添加/修改文件并在那里提交。

我不明白,我在本地机器上没有mofify任何东西,我仍然得到这个错误。

以下是我的“git status&#39;输出

Your branch is up-to-date with 'origin/testing'.

You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Changes to be committed:

    modified:   g_1.0.yaml
    new file:   potter_3.4.yaml
    new file:   potter_3.4.yml

Unmerged paths:
  (use "git add <file>..." to mark resolution)

    both modified:   abc_1.0.json

4 个答案:

答案 0 :(得分:6)

您正在合并中,尝试阅读您复制的邮件,您应该做的很清楚: 你有未合并的路径。   (修复冲突并运行“git commit”)   (使用“git merge --abort”中止合并)

首先清理合并冲突

使用您选择的合并工具(例如:tortoise merge,meld)
或者手工完成,在冲突的文件中你应该看到箭头 &LT;&LT;&LT;&LT;&LT;&LT;&LT; HEAD,选择合适的一个

然后提交

git commit -m "foobar"

现在您应该可以从遥控器上推/拉,但您可能需要先拉,以便在本地合并新的更改。

或者,如果你不需要你的代码,并且想要抛弃所有东西并获得主人,你可以减少

git reset --hard origin/master

将本地仓库重置为原始状态/主仓,但您将丢失所有本地更改

答案 1 :(得分:0)

Unmerged paths:部分中有一个文件:abc_1.0.json

这是冲突的标志。它可能出现在你从同一个分支运行前一个git pull时。

您现在必须选择:

  1. 如果您知道自己在abc_1.0.json中修改了某些内容,并且需要在此文件中保留此修改,请解决冲突:

    • 在您的编辑器中打开abc_1.0.json
    • 查找冲突标记(行<<<<< HEAD=====>>>>> testing
    • 选择应保留的版本
  2. 如果你知道当前的合并并不重要,你可以运行git merge --abort,并尝试再次拉动。

答案 2 :(得分:0)

如果正在暂存未合并的路径,则需要取消暂存它们。要找出未合并的路径:

git status

要取消所有演出:

git restore --staged .

现在您可以拉出更改。

答案 3 :(得分:0)

如果您不想合并更改但仍想更新您的区域设置,请运行:

git reset --hard HEAD 

这将使用头部重置您的本地,然后使用 git pull 拉出您的遥控器。

如果您已经在本地提交了合并(但还没有到远程),并且想再次返回:

git reset --hard HEAD~1