我得到这个错误拉:

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

当前回答

重命名本地分支

Git分支-m temp

显示所有分支

Git分支-a

签出特定的远程分支

Git checkout main

删除临时分支

Git分支-d temp

其他回答

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

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

在我的情况下,我重命名了Github上的分支,它告诉我执行以下命令:

默认分支已重命名!

main is now named <new_name>

如果你有一个本地克隆,你可以通过运行:

git branch -m main <new_name>
git fetch origin
git branch -u origin/<new_name> <new_name>
git remote set-head origin -a

我一直遇到这个问题。在我的例子中,@Jerreck关于分支名称中的案例差异的评论是导致这个错误的原因。一些Windows工具不知道区分大小写。

关闭git中的大小写敏感功能:

git config --global core.ignorecase true

注意,这将影响的不仅仅是分支名称。例如,如果您在同一个目录中有“Foo.h”和“Foo.h”(在为Windows构建软件时,这不是一个好主意),那么我怀疑您无法关闭大小写区分。

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

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

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