我见过有人建议使用git-svn来进行合并并将其提交回svn。如何使用git-svn将更改从trunk中合并到svn中的某个分支?
我正在寻找一个好的一步一步的指导。
- 这是值得的麻烦,或者我应该使用svn来做到这一点。
- 人们会看到我使用过git吗?有没有关于svn合并的元数据?
- 我可以做一个我选择的树干和1个分支的克隆吗?
- 我需要一个完整的克隆吗?还是我可以从创建分支的地方导入它?
我见过有人建议使用git-svn来进行合并并将其提交回svn。如何使用git-svn将更改从trunk中合并到svn中的某个分支?
我正在寻找一个好的一步一步的指导。
是否值得麻烦还是应该使用svn来做到这一点。
我认为这取决于您希望在SVN中保留多少信息。如果你使用git进行合并,我相信SVN不会知道这些更改是从哪里来的,换句话说,它看起来像是SVN主干,分支仍然是独立的。
人们会看到我使用过git吗?有没有关于svn中 合并的元数据?
不,它只会看起来像一个新的提交到主干上。
我可以做一个我选择的树干和1个分支的克隆吗?
如果你的意思是克隆你的git-svn到一个新的git仓库,那么是的。只需克隆git-svn并删除多余的分支,或者在克隆之前直接在git-svn repo中执行该操作。
这里是一篇文章如何convert an SVN repo to a git one。我认为大部分情况适用于这种情况。
我需要一个完整的克隆吗?还是我可以从 分支的制造点导入它?
除非使用--depth
选项,否则Git克隆通常是完整克隆。如果你想抛弃以前的历史,你可以随时压缩所有提交到一个较旧的提交,或者删除.git
目录并初始化一个新的回购。
我已经阅读了一些人的建议这样的文章,但我认为它应该只用于,如果你们都使用GIT和SVN为相同的代码(与git的本地回购和svn托管回购)。我会建议你只是坚持您的VCS并获得像BeyondCompare或万花筒适当合并工具
大约GIT-SVN一个小教程,可以发现在
+1这是一篇不错的博客文章,但它不包括合并。 –
我已经使用了这篇文章中的说明,取得了很大的成功。http://justaddwater.dk/2009/03/09/using-git-for-svn-repositories-workflow/
我使用git合并分支,然后将它们提交到svn回购。这不会遵循svn的合并过程,所以这可能是其他用户的问题。没有设置svn:merge属性
git-svn不会在svn回购中留下任何证据表明您正在使用git-svn。
它可以是值得的,它不会看到你使用git而不是svn。尽管如此,你要非常小心地使用'git rebase'。它真的可以让svn历史一塌糊涂。 –
什么样的合并?选定的提交/修订?或者,这是一个功能分支,您希望保持最新的干线提交,意图重新集成到干线? –
有关分步指南:从http://myhumblecorner.wordpress.com/2011/08/25/git-svn-cheatsheet-for-git-rebels-in-an-svn-workplace/ git checkout; git merge --squash ; git commit; git svn dcommit#--squash是关键' –