【发布时间】:2022-03-31 02:05:27
【问题描述】:
我从 Bitbucket 或 Github 迁移了我的存储库。我不认为这很重要,但这是唯一不同的事情。有一段时间,我设置了两个遥控器:
origin: bitbucket
github: github
然后我删除了这两个并将来源指向 github:
git remote remove origin
git remote remove github
git remote add origin https://github....
develop分支的测试推送:
git push origin develop
一切都是最新的,好的,很好。
像往常一样为某些工作创建一个新分支:
git checkout -b Feature/Name
更新一两个文件。尝试推送到远程:
git push origin Feature/Name
这会导致错误:
致命:功能/名称无法解析为分支
在线搜索这个问题,找到一些关于确保 HEAD 正确的内容,还有一些关于确保我的分支名称大小写正确的内容(尽管此时远程分支上还不存在)。无法解决。
运行这个命令:
git push --all -u
这将我的 Feature/Name 分支转到 github,但仍然看到与以前相同的行为:
git push origin develop
git push origin Feature/Name
第一个有效,而第二个抛出相同的错误。为什么?
【问题讨论】:
-
当你创建
Feature/Name时,你在哪个分支?您确定Feature/Name存在并且是已签出的分支吗?请与git branch联系。 -
@Schwern - 仅存在三个分支(本地和远程):开发、测试和掌握。清理分支并合并回开发后,我会在本地删除它们(如果适用,也可以远程删除)。我确定只有我的三个 - 我有一段时间没有打开这个项目了,我做的第一件事就是检查并确保我没有松散的分支。
-
这是否意味着您运行
git branch来验证Feature/Name是否存在于本地?不要相信 GUI 或 IDE。另外,你做对了吗? -
git push origin Feature/Name:Feature/Name怎么样? -
现在我很生气...不知道为什么它一开始就不起作用,但是在使用
git push --all -u之后,我在 github 有了新的分支,但仍然无法从本地的,对吧?这是发生了什么......实际的分支名称是SQLMigration/ReportFixes,而github中的名称是SqlMigration/ReportFixes。所以,现在我可以git push origin SqlMigration/ReportFixes- 为什么 github 会为我更改大小写?啊。
标签: git github bitbucket branch remote-branch