我知道这个问题不久前已经得到解答,但在阅读之后,我可能会帮助添加特定 git svn 分支命令的示例并将其与典型的工作流程相关联。
就像 kch 回答的那样,使用git svn branch
。这是一个完整的例子,(注意-n
用于空运行测试):
git svn branch -n -m "Branch for authentication bug" auth_bug
如果一切顺利,服务器会回复如下答案:
Copying https://scm-server.com/svn/portal/trunk https://scm-server.com/svn/portal/trunk在 r8914 至https://scm-server.com/svn/portal/branches/auth_bug https://scm-server.com/svn/portal/branches/auth_bug...
并且如果没有-n
切换服务器可能会添加类似以下内容:
找到可能的分支点:https://scm-server.com/svn/portal/trunk https://scm-server.com/svn/portal/trunk => https://scm-server.com/portal/branches/auth_bug https://scm-server.com/portal/branches/auth_bug, 8914
找到分支父级:
(参考/远程/auth_bug)
d731b1fa028d30d685fe260f5bb912cbf59e1971
使用 do_switch 跟随父级
成功关注父 r8915 = 6ed10c57afcec62e9077fbeed74a326eaa4863b8
(参考/远程/auth_bug)
最棒的是,现在您可以基于远程分支创建本地分支,如下所示:
git checkout -b local/auth_bug auth_bug
这意味着“签出并创建名为auth_bug
并使其跟随远程分支(最后一个参数)auth_bug
使用以下命令测试您的本地分支是否可以在该远程分支上运行dcommit
with --dry-run
(-n
):
git svn dcommit -n
SVN 服务器应该回复新的分支名称:
致力于https://scm-server.com/svn/portal/branches/auth_bug https://scm-server.com/svn/portal/branches/auth_bug ...