iCodergit

SVN迁移Git

2017-01-21  本文已影响63人  大斌小姜

SVN迁移Git

①本地SVN库转本地Git库

情况一:不想保留svn提交记录

  1. 删除svn目录文件中的.svn文件夹隐藏文件
  2. 创建远程Git仓库,并通过SourceTree等工具将Git仓库拉取下来
  3. 直接将删除了.svn文件夹的整个目录移到本地Git仓库中,提交推送即可

情况二:想保留svn提交记录和结构

1. 如果svn仓库是按照标准的tags、trunk、branches结构划分的,则git-svn会将对应的分支、标签识别存放到git的结构中。 如果不加-s,不会将tags、branch按照git的结构进行划分 。

$ git svn clone -s http://svnurl/yourrepo

2. 如果svn仓库是非标准结构的,则可以用“-T 主干名 -b 分支名 -t 标签名”参数分别指定归类。

// 其中,如果只关注主干svn提交记录,则可以将分支和标签参数省略
$ git svn clone http://svnurl/yourrepo -T trunk -b branches -t release
// 这里指定了svn库中的rpm目录是主干、branches目录是分支集,release目录是标签集,而`project1`下的其他目录会被忽视
$ git svn clone http://svnurl/yourrepo/project1 -T rpm -b branches -t release 

3.从指定svn版本记录开始恢复

// 检索从v10到现在的所有历史记录
git svn clone -s -r10:HEAD http://svnurl/yourrepo

②本地Git库跟踪远程Git库

在本地的Git仓库中,增加远程git remote 地址:

$ git remote add origin http://xxx.xxx.xxx/xxx/xxx.git

也可以在SourceTree等工具中,先添加本地Git库,然后设置远程git remote地址

备注

远程git先把master删除了,然后直接使用本地Git库作为master

上一篇下一篇

猜你喜欢

热点阅读