繁体   English   中英

如何使用git-svn将更改从trunk更改为svn中的分支?

[英]How do I use git-svn to merge changes from trunk to a branch in svn?

我见过人们建议使用git-svn进行合并并将其提交回svn。

我正在寻找一个好的一步一步的指南。

  • 是值得的麻烦还是我应该使用svn来做到这一点。
  • 人们会看到我使用过git,是否有关于svn合并的元数据?
  • 我可以选择中继和1分支的克隆吗?
  • 我需要一个完整的克隆,还是可以从分支的位置导入它?

我已经使用了这篇文章中的说明取得了很大的成功。 http://justaddwater.dk/2009/03/09/using-git-for-svn-repositories-workflow/

我使用git在分支之间合并然后将它们提交到svn repo。 这不遵循svn的合并过程,因此这对其他用户来说可能是个问题。 未设置svn:merge属性

git-svn在svn repo中没有留下任何你使用git-svn的证据。

是值得的麻烦还是我应该使用svn来做到这一点。

我认为这取决于您希望在SVN中保留多少信息。 如果你使用git进行合并,我相信SVN不会知道更改的来源,或者换句话说,它看起来像SVN主干和分支仍然是分开的。

人们会看到我使用过git,是否有关于svn合并的元数据?

不,它看起来就像是对trunk的新提交。

我可以选择中继和1分支的克隆吗?

如果你的意思是将你的git-svn克隆到一个新的git repo中,那么是的。 只需克隆git-svn并删除无关的分支,或者在克隆之前直接在git-svn repo中执行此操作。

这是一篇如何将SVN repo转换为git的帖子。 我认为大部分都适用于这种情况。

我需要一个完整的克隆,还是可以从分支的位置导入它?

除非使用--depth选项,否则Git克隆通常是完整克隆。 如果你想丢弃以前的历史记录,你可以随时将所有提交压缩成旧的提交,或者只删除.git目录并初始化一个新的仓库。

我已经阅读了一些人建议这样做的文章,但我认为只有在你使用GIT和SVN同一代码(使用git的本地repo和使用svn的托管repo)时才应该使用它。 我建议你坚持使用VCS并获得适当的合并工具,如BeyondCompare或Kaleidoscope

关于git-svn的小教程可以在

http://flavio.castelli.name/howto_use_git_with_svn

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM