我从Bitbucket或Github迁移了我的回购。我认为这无关紧要,但这是唯一不同的地方。有一段时间,我设置了两个遥控器:

origin: bitbucket
github: github

然后我删除了这两个,并指向github的起源:

git remote remove origin
git remote remove github
git remote add origin https://github....

开发部门测试推送:

git push origin develop

一切都是最新的,很好。

像往常一样为一些工作创建一个新分支:

git checkout -b Feature/Name

更新一两个文件。尝试推送到远程:

git push origin Feature/Name

这导致了错误:

致命:特征/名称不能解析到分支

在网上搜索这个问题,找到一些关于确保HEAD是正确的,其他关于确保我的分支名称大小写是正确的(尽管,此时远程上还不存在分支)。无法解决。

执行如下命令:

git push --all -u

这让我的功能/名称分支到github,但仍然看到相同的行为之前:

git push origin develop
git push origin Feature/Name

第一个可以工作,而第二个抛出相同的错误。为什么?


当前回答

我遇到了同样的问题,并注意到我在检查分支时混淆了套管。我检查了branchName而不是branchName,当我试图推到远程时,我得到了同样的错误。

解决办法:

git push --set-upstream origin BranchName

通过将上游设置为正确的名称,正确的分支在github上更新,然后我能够签出正确的分支名称

git checkout BranchName 

它应该是最新的,你的最后一推。

其他回答

分公司名称请用小写字母,不要用大写字母。它会起作用的。

我把布兰奇命名为

Rel4.6 /错误/ Some-short-description

我所要做的就是在使用的时候

git push origin Relx.x/bug/Some-short-description

git push origin relx.x/bug/Some-short-description

就像我过去在rel中使用小写字母r创建分支一样。

那么,是什么导致了这个问题?

当我列出。git/refs/heads内容时,我找到了

drwxr-xr-x  4 eslam_khoga  staff   128B Sep 22 20:22 relx.x

但是不要放松!

里面还有我分行的名字。

因此,git尝试创建一个名称相同但大小写不同的目录

但是系统不区分大小写。

这就是导致这个问题的原因!

我遇到了同样的问题,这是由于去分支错误的套管。git让我切换到分支与不正确的套管即功能/名称而不是功能/名称。找到了一个比上面列出的更简单的解决方案:

提交你的更改到'feature/Name' Git主签(或开发) Git签出特性/名称<使用正确的大小写 git推

我也有这个问题,我的正常分支开始于pb-3.1-12345/namebranch,但我意外地大写了前2个字母PB-3.1/12345/namebranch。在重命名分支以使用小写字母之后,我可以创建分支。

如果你有另一个看起来相似的分支,试着重新命名你的分支。

我认为GitHub文件系统有点纠结于相同的分支名称,如果它们区分大小写的话。在我的例子中,我在服务器上有一个这样的分支,

Feature/Settings/Billing

过了一段时间,我试图发布另一个类似的分支,

Feature/Settings/Billing-After-Revamp

然后我得到了一个致命的错误,然后我重命名了新的分支,如下所示,

Feature/Settings/After-Revamp-Billing

它就像一个魅力,我能够成功地发布我的分支没有致命的错误,如上述。