我正在使用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
答案 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
时。
您现在必须选择:
如果您知道自己在abc_1.0.json
中修改了某些内容,并且需要在此文件中保留此修改,请解决冲突:
abc_1.0.json
<<<<< HEAD
,=====
,>>>>> testing
)如果你知道当前的合并并不重要,你可以运行git merge --abort
,并尝试再次拉动。
答案 2 :(得分:0)
如果正在暂存未合并的路径,则需要取消暂存它们。要找出未合并的路径:
git status
要取消所有演出:
git restore --staged .
现在您可以拉出更改。
答案 3 :(得分:0)
如果您不想合并更改但仍想更新您的区域设置,请运行:
git reset --hard HEAD
这将使用头部重置您的本地,然后使用 git pull 拉出您的遥控器。
如果您已经在本地提交了合并(但还没有到远程),并且想再次返回:
git reset --hard HEAD~1