Я знаю, что вы хотите импортировать только ветку master / trunk вашего svn-репозитория, но я хотел бы упомянуть 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
git-svn
будет проходить историю коммитов для создания нового репозитория git.
Он будет импортировать все ветви и теги как удаленные ветви svn, тогда как вам действительно нужны локальные ветки git и объекты тегов 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 ]
После того, как 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
Наконец, он удостоверяется, что заголовок мастера совпадает с текущей магистралью репозитория SVN.