当前位置: 首页 > 知识库问答 >
问题:

无法推送到远程分支,无法解析到分支

相威
2023-03-14

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

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

共有3个答案

凤高翰
2023-03-14

Git将允许您使用不同的大小写签出当前分支,并且它将无法在远程上找到引用。

刚刚发现了艰难的道路。

程化
2023-03-14

根据我自己的测试和OP的评论,我认为在某个时候他们在分支名称的大小写上出错了。

首先,我相信OP是在OS X或Windows等不区分大小写的操作系统上。然后他们做了这样的事情......

$ git checkout -b SQLMigration/ReportFixes
Switched to a new branch 'SQLMigration/ReportFixes'

$ git push origin SqlMigration/ReportFixes
fatal: SqlMigration/ReportFixes cannot be resolved to branch.

注意外壳差异。还请注意,如果您只是键入名称,则错误会非常不同。

$ git push origin SQLMigration/ReportFixme
error: src refspec SQLMigration/ReportFixme does not match any.
error: failed to push some refs to 'git@github.com:schwern/testing123.git'

由于Github使用文件系统存储分支名称,因此它尝试打开。git/refs/heads/SqlMigration/ReportFixes。因为文件系统不区分大小写,所以它成功地打开了。git/refs/heads/SqlMigration/ReportFixes,但当它尝试区分大小写比较分支名称时,会感到困惑,因为它们不匹配。

他们是如何进入这样一种状态的,即本地分支是SQL迁移/报告修复,远程分支是Sql迁移/报告修复,我不确定。我不相信Github弄乱了远程分支名称。最简单的解释是其他具有推送访问权限的人更改了远程分支名称。否则,在某个时候他们做了一些事情,设法创建了带有打字错误的远程。如果他们检查他们的shell历史记录,也许使用历史记录|grep-i sql迁移/报告修复,他们可能会找到一个错误输入大小写的命令。

古畅
2023-03-14

我也有这个问题,这让我抓狂。我有一些类似的功能/名称,但git branch-a向我显示了功能/名称。重命名分支、删除并重新创建它,都不起作用。最终解决方法:

进入git/refs/heads

您将看到一个功能文件夹。将其重命名为功能。

 类似资料:
  • 当我做一个,我得到我的分支: 当我尝试推送git时,我得到: 当我检查分支时,它不在那里: 我该如何解决这个问题?

  • 我是gitlab的新手,这是我第一次使用ssh。我可以生成ssh密钥并将其添加到我的帐户设置中。我可以通过ssh克隆repo,我可以签出到我的分支,但我仍然不能做的是将我的更改推送到分支。以下是我在尝试推送ssh密钥之前(按照此处的说明)生成ssh密钥的步骤: PS.我正在使用Windows 10。 在终端上(作为管理员),键入:. 按获取ssh键的默认路径 提供密码 在中创建配置文件。这是我在配

  • 当我尝试向github推送一个新的远程分支时,我一直遇到同样的问题,我不知道如何处理它。事情就是这样: 我创建了一个分支,例如 对那个分支进行更改 提交这些更改 然后我签出到我的开发分支(如果由于这样或那样的原因我当时无法推送) 当我返回该分支我尝试推送 我收到消息: 要推送当前分支并将远程设置为上游,请使用 致命:功能/5110无法解析为分支。 我发现解决这个问题的唯一方法是删除我的分支,然后重

  • 问题内容: 有什么方法可以将成功构建的功能分支推送到另一个分支? 我想要这样的东西: Git存储库(Gitorious / GitHub等)。分行: 掌握(当前项目的代码) 质量保证(代码等待质量检查的分支机构) 功能分支(许多远程分支,开发人员可以在其中开发其功能) 开发人员应仅具有对母版的读取访问权限,并且对其功能分支进行读/写QA读/写质量保证分支TeamCity-读/写母版,质量保证,仅对

  • 每次我将一个分支合并回我的主分支时,我就不能再推到原点。我收到消息 我做了一个简单的测试更改: 创建了一个新的分支 做了一个更改到测试分支和提交 签出回到主 合并测试分支 合并似乎进行得很顺利,但现在当我使用Git状态时,主分支并没有告诉我它在源代码之前。当我试着推到原始主机时,我得到了上面的信息。 有人知道是什么导致了这个问题吗?

  • 我已经在我的本地Gitlab服务器上创建了一个远程存储库,我试图推送本地内容,但它要求我提供通行证,但现在是为我的用户 我试过使用我的用户通行证和根通行证,但不起作用,通行证要求什么??