2016-03-01 167 views
4

当我运行此命令:跟踪分支裸露的git - svn的

git --git-dir=firebird.git branch -a 

这是我的输出:

B1_5_Release 
    B2_0_Release 
    B2_1_Release 
    B2_5_Release 
* master 
    remotes/B1_5_Release 
    remotes/B2_0_Release 
    remotes/B2_1_Release 
    remotes/B2_5_Release 
    remotes/B3_0_Release 
    remotes/origin/B1_5_Release 
    remotes/origin/B2_0_Release 
    remotes/origin/B2_1_Release 
    remotes/origin/B2_5_Release 
    remotes/trunk 

一个B3_0_Release分支在颠覆这个混帐svn的树之后创建被建立。我没有B3_0_Release跟踪remotes/B3_0_Release,或类似的东西。这是一个裸仓库,所以我不能做一个“git checkout -b ...”。

如何将此新分支添加到此裸仓库?

回答

3

在一个Git仓库来创建一个分支最简单的方法是git branch <branch_name> [<where to branch at>],这将裸存储库以及工作,你的情况

git --git-dir=firebird.git branch B3_0_Release remotes/B3_0_Release 

当心它不会在在SVN的变化自动更新上游(可能其他地方分支)。

+0

工作,但现在我做“git --git-dir = firebird.git push -u origin remotes/B3_0_Release:B3_0_Release”就像我为其他分支做的那样:错误:无法推送到不合格的目的地:B3_0_Release 目的地refspec既不匹配遥控器上的现有参考,也不匹配以refs /开头的,并且我们无法根据源参考猜测前缀。 –

+0

这是一个完全不同的问题,很容易google/stackoverflow。你甚至不需要创建一个本地分支,如果你想要的只是推到遥控器,只要做'git push origin遥控器/ B3_0_Release:refs/heads/B3_0_Release' –

+0

谢谢你Mykola! –