推送GIT更改时出错。引用名称必须遵循git ref-format规则


9

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

远程分支''(本地分支='sprints / Mycompany_sprint-1')无效。引用名称必须遵循git ref-format规则:https : //www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html 完成但有错误,请参见上文。

但是,如果我转到该链接,则将遵循(到目前为止)所有规则,因为在第一条规则上查找:

它们可以包括斜杠/用于层次结构(目录)分组,但是斜杠分隔的组件不能以点开头。或以序列.lock结尾。我检查问题是否可能是弹簧类别已经存在,但不是这样。

有人可以告诉我我在做什么错吗?我很害怕在这里看不到错误...

Answers:


54

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

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


3
我很高兴自己花了很长时间才独自研究它!
格雷格·伍兹

fuxk这个错误..浪费我的生命

称之为BugTree。
开玩笑黄

2
4年后的今天,这个问题仍未解决
Ben Sewards

1

问题不在于您的本地分支机构名称。问题在于您要求其他 Git使用的分支名称。

这又是该错误消息,为清楚起见,这次是固定宽度字体:

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

删除仅用于提供信息的括号内的注释:

The Remote branch '' is invalid.

您以某种方式拥有;这应该是不可能的-指定一个完全为空的远程分支名称。这不是有效的分支名称。您如何指定它,我不知道,但是您需要停止这样做。


该死,我一开始不明白。感谢您的回答。问题是我没有定义一个空名称,我使用的是相同的名称...不确定失败。无论如何,我推过控制台,它正常工作
Inazense

是的,命令行不会让您至少提供一个空的目的地名称。这听起来像一个GUI错误。
torek

1

截至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发行说明


恐怕还没有解决。我与该版本和较新的测试,它是继续有时会出现...
Inazense

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.