您的配置指定与远程的<分支名称>合并,但没有获取到此类引用?

540

我在pull时遇到了以下错误:

你的配置指定要与远程引用'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

9
当远程分支被删除时,可能会出现这个问题。请仔细核对它是否真的存在。 - Benny Code
24
未来的读者:如果你知道远程分支存在,请检查你是否忽略了大小写。我曾经设置了一个本地分支来跟踪一个远程分支,但是我把远程分支的名称都用小写字母输入了。只需要重新配置本地分支跟踪 origin/BranchName 而不是 origin/branchname 即可。 - Jerreck
2
在涉及修剪本地分支以匹配远程的解决方案时,首先确保您实际上并未在本地删除该分支,特别是您没有在该分支上进行未提交的更改。 - M Katz
2
已经有很好的答案了,所以不需要再添加新的答案。但是我想说一句,当我收到这个消息时,意味着源分支已被删除,通常是因为在合并到另一个分支时被删除。这是一种常见的做法,可以使源存储库不受旧分支的干扰。 - angryITguy
2
正如@angryITguy所提到的,原因很可能是当分支合并到master时被删除了(为了保持整洁)。例如,gitlab在合并页面上通过一个复选框鼓励这样做。您可以在https://dev59.com/OHVC5IYBdhLWcg3wpS3f查看分支是否已经合并。因此,使用git branch --merged master命令。如果确实已经合并,则可以使用git branch --set-upstream-to=origin/master清除“错误”消息。 - Michael Shaw
显示剩余3条评论
36个回答

0

虽然不太正式,但删除本地项目并重新克隆可行。

我这样做是安全的,因为我从未开发过用于合并的分支。


0

我曾经在远程合并和删除的分支中。切换到一个存在的分支,然后拉取帮助了我。


0
当我在根项目中运行'git pull'命令时,出现以下错误:
命令: git pull 错误: 您的配置指定与远程引用'refs/heads/main'合并,但未获取此类引用。 解决方案: 我只需删除.git文件夹,并通过在根项目文件夹中运行git init命令重新初始化.git(创建.git文件夹),然后它就可以工作了。

0

该分支在 Github 仓库中的拉取请求已被批准,已合并到 dev 分支中,并不再存在于原始仓库中。


0
对我来说,问题出在当我将develop合并到master时,有一个配置是在合并后删除分支,这就是为什么git pull无法工作的原因。
所以为了解决这个问题,我不得不进入pull request,并使用恢复分支按钮来恢复分支。

0
這是一個舊問題,實際上新的 Git 使用者仍然可能遇到相同的問題。
For example: 
 **you have repoA**
     remotes/origin/yourBranch1

 **you have repoB**
     remotes/origin/yourBranch1
     remotes/origin/yourBranch2

你可能会在repoA下的yourBranch1结账,并认为你正在删除repoB下的远程yourBranch2。
then you would see below error
'Couldn't find remote ref'

确保您已经检出了同一仓库下的分支,并且不是您打算删除的相同分支。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接