我得到这个错误拉:

您的配置指定与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(以保持与远程分支名称一致)

其他回答

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

我做了:

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

非正式的,但是删除我的本地项目并重新克隆是有效的。

我这样做是安全的,因为我从来没有为合并开发过分支。

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

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

我在主/主分支上也有类似的问题。在我的情况下,我的硬盘上没有足够的空闲空间。在腾出一些空间后,它起作用了。

我想这是因为文件/。Git需要一些空间来编辑文件。 例如文件:'refs/heads/feature/Sprint4/ABC-123-Branch'

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

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