创建新的远程分支时出现有趣的refname错误

时间:2012-12-09 21:47:56

标签: eclipse git github egit

所以我在github上搞了一个项目,一切都很花花公子。现在我想创建一个新的分支。

这就是我所做的:

  1. 创建了一个新的本地分支
  2. 将新分支推送到github
  3. 这是问题所在: 在推送到我的遥控器期间,我收到此错误:

    Repository ssh://git@github.com/<username>/ProjectColossus.git
    
    funny refname
    error: refusing to create funny ref 'workingBranch' remotely
    

    我的远程仓库被称为origin,所以我尝试在stackoverflow上的另一个答案中建议使用该refname,但是我得到了相同的错误。我也尝试在远程推送前的“Target Ref Name:”字段中使用与我的新本地分支相同的名称,但我真的不确定我在这一点上做了什么。我知道有一些我没有得到关于git远程推送的东西,所以一点点解释会非常有用。我对git和版本控制很陌生,但我是一名中级程序员(从1月开始第二年CS)。

3 个答案:

答案 0 :(得分:16)

在Target Ref Name中,可能你需要添加refs / heads:

refs/heads/name_of_your_new_branch

在您的具体案例中:

refs/heads/workingBranch

(至少,这是Bitbucket的方式 - 例如,Eclipse的Eclipse插件)

答案 1 :(得分:1)

我发现当你创建一个标签(将标签放在本地存储库中的/refs/tags/V0.0.1位置)时,EGit期望像 V0.0.1 那样愚蠢当你将标签推入远程存储库时,它希望提供像 /refs/tags/V0.0.1 这样的refname

答案 2 :(得分:0)

我们只是遇到了这个问题 - 我们正在使用VS2013并使用/ refs / heads /创建分支时出错。 我们最终从Atlassian下载了Source Tree(我们使用Stash来存放我们的代码)。这显示了一个“uncommited change”,即改变了DesignTimeResolveAssemblyReferencesInput.cache文件 - 这是VS2013正在做的事情。 我们解除了这个改变并创建了一个新的分支,这解决了这个问题。

希望如果上述方法不起作用,这将指向某人正确的方向。