我得到这个错误拉:

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

其他回答

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

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

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

我得到了这个确切的错误,但没有一个建议的答案(可能是大小写敏感)是问题。它们可能适用于99%的问题,但还剩下1%。

事实证明,混合使用WSL / Linux文件共享和Windows基目录是问题所在。我正在运行WSL (Ubuntu 20.04),并有一个从Windows访问/编辑的repo,但代码是在WSL上运行的。我可能已经从WSL方面做了一些git状态检查。

回购是存在的,案例是正确的,互联网工作正常,没有一个分支被删除,等等。然而,我也得到了错误,你的配置指定从远程合并,但没有这样的参考。

我的修复是,是确保所有的项目都被推送/所有的更改都被记录,然后我只是删除了目录,并再次从Windows中做了一个“git克隆”。然后'git checkout'就可以正常工作了。我知道这不是一个真正的答案,但它确实起作用了。

我在做Linux开发,代码库可以自动执行某些操作,包括“git克隆”;然而,我通常在Windows上进行代码推送。我的猜测是。git文件夹不是跨平台兼容的(并不是我有任何期望)。然而,它通常是有效的。是bug吗?争议。

Git偶尔也会试图做一个漂亮的和蒙面的行尾;这是一个不同的问题(与宗教相近)。我是不可知论者。是的,有一个设定。)

我在远程中被合并和删除的分支中。在一家存在的分行结账,然后取款,这对我有帮助。

在我的情况下,我已经删除了我的当前分支派生的原始分支。所以在.git/config文件中我有:

[branch "simil2.1.12"]
    remote = origin
    merge = refs/heads/simil2.0.5
    rebase = false

删除了simil2.0.5。我用相同的分支名称替换了它:

[branch "simil2.1.12"]
    remote = origin
    merge = refs/heads/simil2.1.12
    rebase = false

这个方法奏效了