我得到这个错误拉:

您的配置指定与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”。 当我检查并拉动那根树枝时,它没有问题。

其他回答

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

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(你不会得到之前的消息)

我面临着同样的问题,我当前的分支是开发,我正在检查到MR分支,然后做git拉。我采取的一个简单的解决办法是,我为MR Branch创建了一个新文件夹,并在那里进行git拉,然后进行git克隆。

所以基本上我维护了不同的文件夹来将代码推送到不同的分支。

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

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

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

对我来说,这是因为我合并了一个分支开发到主使用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 -对我来说,它更容易删除本地文件夹,并再次克隆。