我得到这个错误拉:

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

当前回答

检查您的远程分支是否可用。 我也有同样的问题,最后意识到远程分支被某人删除了。

其他回答

对我来说,这是一个个案敏感性问题。我的本地分支是Version_feature2而不是Version_feature2。我重新检查了我的分支使用正确的套管,然后git拉工作。

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

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

检查大小写敏感性

在我的例子中,我的分支名称(remote)使用大写字母,例如:BranchName。 意外地,我在本地机器上创建了一个分支branchname(全部小写),并将上游设置为相同,然后出现了这个错误。

解决方案: 我删除了本地存储库,再次克隆它,并签出到BranchName

对我来说,这是因为我合并了一个分支开发到主使用web界面,然后尝试同步/拉使用VSCode在开发分支上打开。(这很奇怪,我不能改变到master没有得到这个错误。)

git pull
Your configuration specifies to merge with the ref 'refs/heads/dev'
from the remote, but no such ref was fetched.'

这是有意义的,没有找到它refs/heads/dev -对我来说,它更容易删除本地文件夹,并再次克隆。

您可以编辑~/。Gitconfig文件在您的主文件夹。这是保存所有全局设置的地方。

或者,使用git config——global——unset-all remote.origin.url,然后运行git fetch with repository url。