我得到这个错误拉:

您的配置指定与ref合并 'refs/heads/feature/Sprint4/ABC-123-Branch',但没有 这样的裁判是拿来的。

这个错误不会出现在任何其他分支上。这个分支的特殊之处在于,它是从另一个分支的上一次提交中创建的。 我的配置文件如下:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    url = <url here>
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "new-develop"]
    remote = origin
    merge = refs/heads/new-develop
[branch "feature/Sprint4/ABC-123-Branch"]
    remote = origin
    merge = refs/heads/feature/Sprint4/ABC-123-Branch

当前回答

我只是得到了同样的错误,当我没有使用正确的情况。 我可以签出'integration'。Git告诉我执行Git拉来更新我的分支。我这样做了,但收到了提到的错误。 正确的分支名称是“Integration”加上大写的“I”。 当我检查并拉动那根树枝时,它没有问题。

其他回答

我是在用纱线装包的时候遇到的。自己的依赖项将分支main重命名为master。仅更新上游依赖并不能修复它,我还必须清理yarn缓存。

项目A重命名了主分支(main -> master)。项目A是项目B的一个依赖项。 yarn install on Project B <——导致错误 在项目A上推送更新 yarn install on Project B <——导致错误 纱线缓存清理 纱线安装在项目B <-工作现在

在我的情况下,我只是在远程分支上缺乏初始提交,所以本地分支没有找到任何东西来拉,它给出了错误消息。

我做了:

git commit -m 'first commit' // on remote branch
git pull // on local branch

当实际原因是磁盘已满时,我得到了类似的错误。在删除了一些文件后,git开始像我预期的那样工作。

我一直遇到这个问题。在我的例子中,@Jerreck关于分支名称中的案例差异的评论是导致这个错误的原因。一些Windows工具不知道区分大小写。

关闭git中的大小写敏感功能:

git config --global core.ignorecase true

注意,这将影响的不仅仅是分支名称。例如,如果您在同一个目录中有“Foo.h”和“Foo.h”(在为Windows构建软件时,这不是一个好主意),那么我怀疑您无法关闭大小写区分。

现在这是一个更常见的错误,因为许多项目正在将他们的主分支转移到另一个名称,如主、主、默认、根、引用、最新等,正如Github计划取代“主”和“白名单”等种族不敏感的术语。

要修复它,首先要找出项目现在使用的是什么,你可以通过他们的github, gitlab或其他git服务器找到。

然后这样做来捕获当前配置:

$ git branch -vv
...
* master  968695b [origin/master] Track which contest a ballot was sampled for (#629)
...

找到描述主分支的行,并注意远程回购是否被称为origin、upstream或其他名称。

然后使用这些信息,将分支名称更改为新的分支名称,例如,如果它说你当前正在跟踪origin/master,则替换为main:

git branch master --set-upstream-to origin/main

你也可以重命名你自己的分支,以避免未来的混乱:

git branch -m main