防止出现错误:您的配置指定与远程引用 'refs/heads/Feature/MyFeatureBranch' 合并,但未获取到此类引用?

4
当我执行 git pull 时,出现了以下提示信息: 您的配置指定与远程的 'refs/heads/Feature/MyFeatureBranch' 分支合并,但没有获取到该分支。 我的 .git/config 文件如下:
[core]
    bare = false
    repositoryformatversion = 0
    filemode = false
    symlinks = false
    ignorecase = true
    logallrefupdates = true
[remote "origin"]
    url = https://mycompanysgitserver

    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "0019"]
    remote = origin
    merge = refs/heads/0019
[branch "develop"]
    remote = origin
    merge = refs/heads/develop
[branch "Feature/MyFeatureBranch"]
    remote = origin
    merge = refs/heads/Feature/MyFeatureBranch

如果我运行 git status,就会看到以下内容:
分支在 Feature/MyFeatureBranch 上 您的分支比 'origin/Feature/MyFeatureBranch' 慢 3 次提交,可以快进。 (使用 "git pull" 更新您的本地分支) 没有要提交的内容,工作目录干净整洁。
而 git ls-remote 命令则会显示:
a5389a71eea0f30dfa96cfc95f4c19bb57a5d1a6    refs/heads/feature/MyFeatureBranch

我已经搜索了一些相关的建议,包括这里,但似乎我没有遇到导致此错误消息的常见问题。
谢谢。

2
分支名称的大小写是否匹配?我不确定您是否手动编辑了这些分支,以便公开发布,但是 git ls-remote 输出显示为“feature/MyFeatureBranch”,而您的 git config 则使用“Feature/MyFeatureBranch” - 第一个字符的大小写不同。 - jholtrop
1
首先尝试执行git fetch origin MyFeatureBranchgit remote show origin的输出是什么? - Christoph
2
这是大小写敏感问题。我在git配置文件中更改了大小写。我认为我还需要使用正确的大小写进行另一个fetch。我的记忆现在有点模糊。 - Eric
2个回答

1
要查看本地和远程分支列表,请运行,并确认远程分支是否存在。
git branch --all

如果您没有任何更改,请删除本地的MyFeatureBranch,然后运行。
git checkout -t origin/MyFeatureBranch

0

我曾经遇到过类似的问题,原因是远程分支被删除了。巧合的是,我已经在我的分支'A'上完成了更改并将其合并到'master'上。过了一段时间,我可能执行了git fetch --prune以删除所有陈旧的引用,这可能导致了问题。然而,在本地分支上,我试图执行git pull,显然失败了。

请在您当前的本地仓库上运行

git status

并确保您正在一个有效的分支上。您可以切换到另一个分支,比如'master',然后执行

git pull

来验证是否可以拉取。


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