git-svn:我如何通过git创build一个新的svn分支?
我有一个跟踪svn仓库的git仓库。 我使用--stdlayout
克隆它。
我通过git checkout -b foobar
创build了一个新的本地分支
现在我想把这个分支放在svn仓库的…/branches/foobar
中。
我如何去做呢?
(剪下大量的调查文字,如果你在意的话,看看问题历史)
我知道这个问题已经被回答了一阵子,但是在阅读之后,我可能会帮助添加特定的git svn branch命令的例子,并将其与典型的工作stream程相关联。
像kch回答,使用git svn branch
。 这里是一个完整的例子,(注意-n
为干运行testing):
git svn branch -n -m "Branch for authentication bug" auth_bug
如果这一切顺利,服务器回复这样的答案:
将r8914上的https://scm-server.com/svn/portal/trunk复制到https://scm-server.com/svn/portal/branches/auth_bug …
如果没有-n
开关,服务器可能会添加如下内容:
find可能的分支点: https : //scm-server.com/svn/portal/trunk => https://scm-server.com/portal/branches/auth_bug,8914
find分行家长:(refs / remotes / auth_bug)
d731b1fa028d30d685fe260f5bb912cbf59e1971
继父母后,do_switch
成功遵循父项r8915 = 6ed10c57afcec62e9077fbeed74a326eaa4863b8
(参考文献/遥控器/ auth_bug)
最好的部分,现在你可以创build一个基于你的远程分支的本地分支,如下所示:
git checkout -b local/auth_bug auth_bug
这意味着“签出并创build名为auth_bug
本地分支,并使其跟随远程分支(最后一个参数) auth_bug
通过使用带有--dry-run
( -n
)的--dry-run
来testing您的本地分支在远程分支上的工作情况:
git svn dcommit -n
而SVN服务器应该用新的分支名称回复:
作为git v1.6.1, git svn branch
可用。
从git文档:
科 在SVN仓库中创build一个分支。 -m, - 消息 允许指定提交消息。 -t,--tag 使用tags_subdir而不是branches_subdir创build一个标签 在git svn init中指定。
旧版本的git不提供创buildsvn分支的方法。
@kch我刚刚(2008年12月7日)编译了git的v1.6.1-rc1标签,它包含git svn分支命令及其文档。 所以git的v1.6.1版本应该(希望)包含这个命令。