git-svn如何运作?
我可以在工作中访问svn存储库但是我将开始与分布式团队合作,我想开始在这个项目上启动git使用(作为一个试点)。
答案 0 :(得分:4)
因为svn不像git那样支持相同的分支/合并范围和风格,所以对于你可以用上游存储库做多少工作,你将受到限制。然而,在本地,它只是一个普通的git存储库,因此您可以进行分支和合并以及挑选和重新设置您心中所需的一切。
要担心的差异是与上游交互:而不是像通常用于更新更改的git pull
,您将使用git svn rebase
,git将尝试重播您的本地提交远程HEAD,一路停下来,让你知道你需要解决的冲突,如果有的话(而不是合并它们,就像纯git存储库一样)。提交时,您将使用git svn dcommit
,这使您的本地提交成为线性历史记录,并将它们应用于svn中的上游HEAD。
答案 1 :(得分:1)
要添加到Matt Enright的answer,还要考虑svn2git(和反向脚本) git2svn),以获得更像git的存储库结构 (即尝试不将分支作为目录,就像它们在SVN中一样)