我得到这个错误拉:

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

当前回答

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

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

其他回答

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

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

如果您/某人重命名了分支,也会发生这种情况。 因此,请遵循以下步骤(如果您知道分支名称已重命名) 假设之前的分支名称是错误的分支名称有人将其重命名为正确的分支名称那么。

git checkout correct-branch-name

git pull(你会看到“你的配置指定了..”)

git branch --unset-upstream

git branch --set-upstream-to=origin/correct-branch-name

对于较旧的git版本,git push——set-upstream origin correct-branch-name

Git pull(你不会得到之前的消息)

在我的情况下,我已经删除了我的当前分支派生的原始分支。所以在.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

这个方法奏效了

在我的情况下,回购是暂时不可用的(在维护中)。

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