将svn分支导入git

Abd*_*aly 3 svn git

我是git的新手,并且有一个subversion存储库,我希望能够偶尔导入到git存储库(用于部署).所以我想使用svn执行大多数更新,但是想看看将它推送到git的最佳方式是什么(只是默认/主分支).

Von*_*onC 5

我知道你只想导入svn存储库的master/trunk分支,但我想提一下svn2git,以便将你的svn导入git存储库.

这比git svn clone在svn中有这个代码更好 :

  trunk
    ...
  branches
    1.x
    2.x
  tags
    1.0.0
    1.0.1
    1.0.2
    1.1.0
    2.0.0
Run Code Online (Sandbox Code Playgroud)

git-svn将通过提交历史记录来构建一个新的git repo.
它将所有分支和标签导入为远程svn分支,而你真正想要的是git-native本地分支和git标记对象.
因此,在导入此项目后,您将获得:

  $ git branch
  * master
  $ git branch -a
  * master
    1.x
    2.x
    tags/1.0.0
    tags/1.0.1
    tags/1.0.2
    tags/1.1.0
    tags/2.0.0
    trunk
  $ git tag -l
  [ empty ]
Run Code Online (Sandbox Code Playgroud)

在你的项目完成svn2git后,你会得到这个:

  $ git branch
  * master
    1.x
    2.x
  $ git tag -l
    1.0.0
    1.0.1
    1.0.2
    1.1.0
    2.0.0
Run Code Online (Sandbox Code Playgroud)

最后,它确保master的HEAD与svn repo的当前主干相同.