我从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

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


当前回答

我在名为“bugFix/issue-2521”的分支上也有这个问题,我意识到我已经有了相同的分支名称,但没有大写字母“bugFix/issue-2521”,我在创建这个新分支时没有遇到冲突,但我在升级这个分支时遇到了问题。 这个问题最简单的解决方案是将其重命名为git branch -m new-branch-name

其他回答

类似的事情也发生在我身上。我创建了一个名为“Feat/name”的分支。 我试着用:

git push——set-upstream origin Feat/name

我和你犯了同样致命的错误

致命:专长/名字不能解析到分支

为了解决这个问题,我创建了一个新的分支,因为我只有很少的文件受到影响。然后我列出了我的分支来删除错误的分支,它显示没有上限:

壮举/名称

我以前用过大写,但从来没有在第一个字符上用过。看起来git不喜欢它…

我的2美分…在我的案例中出现这个问题是因为分支名称中的一个拼写错误(大写字母)。我有两个名字几乎一模一样的分支。

我在windows系统中也遇到了同样的问题。使用 Git checkout -b your-new-branch从你当前的分支并推送到远程,然后你可以在两个分支中找到提交。

对我来说,问题在于我将git和macOS文件系统设置为两种不同的大小写敏感性。我的Mac被格式化为APFS/Is Case-Sensitive: NO,但我在某些时候翻转了我的git设置,试图克服Xcode图像资产命名的奇怪问题,所以git配置-global core。ignorecase假。把它翻转回来,调整设置,重新创建分支,然后按一下,让我回到正轨。

git config --global core.ignorecase true

Credit: Git是大小写敏感的,你的文件系统可能不会-奇怪的文件夹合并在Windows上

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