在 GIT 上推送更改时出错。引用名称必须遵循 git 引用格式规则

Error pushing changes on GIT. Ref names must follow git ref-format rules

我在 Sourcetree 上使用 git 时遇到一个错误。 我创建了一个名为 sprints/Mycompany_sprint_1 的本地分支(因为我希望它在一个类别中),然后我从另一个分支对这个分支进行了多次挑选。 之后,我尝试将所有更改推送到我的分支上,但我收到下一个错误:

The Remote branch '' (Local branch = 'sprints/Mycompany_sprint-1') is invalid. Ref names must follow git ref-format rules: https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html Completed with errors, see above.

但是如果我去 link,我会遵守(据我所知)所有规则,因为看第一条规则:

They can include slash / for hierarchical (directory) grouping, but no slash-separated component can begin with a dot . or end with the sequence .lock.

我检查问题是否可能是 spring 类别已经存在,但事实并非如此。
任何人都可以告诉我我做错了什么吗?恐怕看不出这里的错误...

问题不在于您的 local 分支名称。问题在于您要求 other Git 使用的分支名称。

再次显示该错误消息,为了清楚起见,这次使用固定宽度的字体:

The Remote branch '' (Local branch = 'sprints/Mycompany_sprint-1') is invalid.

删除仅供参考的括号内的注释:

The Remote branch '' is invalid.

你有——不知何故;这应该是不可能的——指定了一个完全为空的远程分支名称。这不是有效的分支名称。你是怎么指定的,我不知道,但你需要停止这样做。

这似乎是一个影响 Windows 版本 3.3.4 的 SourceTree 的错误:https://jira.atlassian.com/browse/SRCTREEWIN-12593

修复错误之前的解决方法是取消选中并重新选中推送对话框中的分支复选框。

我正在将 Release_Staging_2.0 推送到 orgin 我遇到了同样的错误..当我在我的本地分支中将它重命名为 Staging_2.0 时,它起作用了..仍然没有找到确切的原因但你可以试试。

截至 2019 年 11 月 22 日,这似乎终于得到解决。

SourceTree 3.3.6 [22 November 2019]
  Changes
    Fixed new branches in the push dialog not setting the remote branch name
    Fixed the create patch screen allowing split view

来源:SourceTree Release Notes

当我尝试将分离的 HEAD(从标签)推送到不同的存储库时,我在 SourceTree 中遇到了这个错误。这不是任何名称格式验证错误。

解决方案是从 HEAD 创建一个本地分支并将其推送到不同的 repo。