我得到这个错误拉:
您的配置指定与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
我得到了这个确切的错误,但没有一个建议的答案(可能是大小写敏感)是问题。它们可能适用于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 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(你不会得到之前的消息)