kch*_*kch 194 git version-control git-svn
我有一个跟踪svn存储库的git存储库.我用它克隆了它--stdlayout.
我通过创建了一个新的本地分支 git checkout -b foobar
现在我希望这个分支最终…/branches/foobar进入svn存储库.
我该怎么做?
(剪了很多调查文本.如果你关心,请查看问题历史)
Jes*_*sen 280
我知道这个问题已经回答了一段时间,但在阅读之后,我可能会帮助添加特定git svn分支命令的示例并将其与典型的工作流程联系起来.
像kch回答一样,使用git svn branch.这是一个完整的例子,(注意-n干运行测试):
git svn branch -n -m "Branch for authentication bug" auth_bug
Run Code Online (Sandbox Code Playgroud)
如果这很顺利,服务器会回复如下答案:
复制https://scm-server.com/svn/portal/trunk在r8914到https://scm-server.com/svn/portal/branches/auth_bug ...
如果没有-n交换机,服务器可能会添加如下内容:
发现可能的分支点:https://scm-server.com/svn/portal/trunk => https://scm-server.com/portal/branches/auth_bug,8914
找到分支父母:(refs/remotes/auth_bug)
d731b1fa028d30d685fe260f5bb912cbf59e1971
以下是do_switch的父级
成功跟随父母r8915 = 6ed10c57afcec62e9077fbeed74a326eaa4863b8
(参考文献/遥控器/ auth_bug)
最好的部分,现在你可以根据你的远程分支创建一个本地分支,如下所示:
git checkout -b local/auth_bug auth_bug
Run Code Online (Sandbox Code Playgroud)
这意味着"签出并创建本地分支命名auth_bug并使其跟随远程分支(最后一个参数)auth_bug
使用dcommitwith --dry-run(-n)测试本地分支在该远程分支上的工作方式:
git svn dcommit -n
Run Code Online (Sandbox Code Playgroud)
SVN服务器应该回复新的分支名称:
kch*_*kch 64
从git v1.6.1开始,git svn branch可用.
从git文档:
branch
Create a branch in the SVN repository.
-m, --message
Allows to specify the commit message.
-t, --tag
Create a tag by using the tags_subdir instead of the branches_subdir
specified during git svn init.
以前版本的git不提供创建svn分支的方法.
| 归档时间: |
|
| 查看次数: |
46501 次 |
| 最近记录: |