我得到这个错误拉:

您的配置指定与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

当前回答

我发现当从默认主分支重命名为主分支的回购中提取更新时,经常发生这种错误。 在2020年将主分支重命名为主分支的趋势之后,遇到了很多这种情况。

因此,如果你之前用默认的主分支克隆了一个repo,并且这个分支已经重命名为main,一种修复方法是简单地将你的上游从master指向main:

Git分支——set-upstream-to=origin/main master

如果该命令成功,您应该看到如下消息:

分支'master'设置为从'origin'跟踪远程分支'main'。

然后,你可以使用git branch -m master main将本地分支从master重命名为main(以保持与远程分支名称一致)

其他回答

当源分支名称有大小写问题时,也会收到此错误。

例如:原点分支是team1-Team,本地分支已经签出为team1-Team。那么,这个T in -Team和T in -Team会导致这样的错误。我的情况就是这样。因此,通过用起源分支的名称更改本地名称,错误就得到了解决。

在我的情况下,我已经删除了我的当前分支派生的原始分支。所以在.git/config文件中我有:

[branch "simil2.1.12"]
    remote = origin
    merge = refs/heads/simil2.0.5
    rebase = false

删除了simil2.0.5。我用相同的分支名称替换了它:

[branch "simil2.1.12"]
    remote = origin
    merge = refs/heads/simil2.1.12
    rebase = false

这个方法奏效了

在我的情况下,master不能在一个新项目中获取。

在我把它放到命令行之后,

Git配置——global http。sslVerify假

裁判:https://confluence.atlassian.com/bitbucketserverkb/can - t - - bitbucket都访问服务器与- git -发行者证书无效- 779171808. - html

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

现在这是一个更常见的错误,因为许多项目正在将他们的主分支转移到另一个名称,如主、主、默认、根、引用、最新等,正如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