[英]git : Pull is not possible because you have unmerged files
我正在使用 php-git 客户端在我的 php 脚本中提取分支。 每当我从 master 结帐到 test 时,我都会收到以下错误。
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 上添加/修改文件并在那里提交。
我不明白,我没有在本地机器上修改任何内容,但仍然出现此错误。
以下是我的“git status”输出。
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
您正处于合并过程中,请尝试阅读您复制的消息,很清楚您应该做什么:您有未合并的路径。 (修复冲突并运行“git commit”)(使用“git merge --abort”中止合并)
所以首先清除合并冲突
使用您选择的合并工具(例如:tortoise merge、meld)
或者手动完成,在冲突的文件中,您应该看到像 <<<<<<< HEAD 这样的箭头,选择适当的一个
然后提交
git commit -m "foobar"
现在您应该能够从远程推/拉,但您可能需要先拉,以便在本地合并新的更改。
或者,如果你不需要你的代码,只想扔掉所有东西并获得主人,你可以减轻
git reset --hard origin/master
将您的本地存储库重置为原始/主状态,但您将丢失所有本地更改
如果您不想合并更改但仍想更新您的语言环境,请运行:
git reset --hard HEAD
这将用头部重置你的本地,然后使用 git pull 拉你的遥控器。
如果您已经在本地提交了合并(但还没有远程),并且想再次返回:
git reset --hard HEAD~1
未Unmerged paths:
有一个文件Unmerged paths:
部分: abc_1.0.json
。
这是冲突的征兆。 当您从同一分支运行之前的git pull
时,它可能会出现。
您现在必须选择:
如果您知道您在abc_1.0.json
修改了abc_1.0.json
,并且需要将此修改保留在此文件中,请解决冲突:
abc_1.0.json
<<<<< HEAD
, =====
, >>>>> testing
)如果您知道当前的合并并不重要,您可以运行git merge --abort
,然后再次尝试拉取。
如果有正在暂存的未合并路径,您需要取消暂存它们。 要找出未合并的路径:
git status
要取消所有:
git restore --staged .
现在您可以拉取更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.