svn迁移到gitlab

1.先建立SVN账号与gitlab账号直接的对应文档users.txt,并放入本地仓库的文件夹中

schacon = Scott Chacon

selse = Someo Nelse

2.Clone SVN项目至本地Git

git svn clone  http://my-project.googlecode.com/svn/ --authors-file=users.txt --no-metadata -s my_project

参数–no-metadata表示阻止git导出SVN包含的一些无用信息

参数–authors-file表示SVN账号映射到git账号文件,所有svn作者都要做映射

参数–s表示原先是标准的svn目录,包括trunk,tags,branches

3.将SVN tag转成Git tag

第一步,你应当清理 git svn 设置的奇怪的引用。 首先移动标签,这样它们就是标签而不是奇怪的远程引用,然后你会移动剩余的分支这样它们就是本地的了。

为了将标签变为合适的 Git 标签,运行

$ cp -Rf .git/refs/remotes/origin/tags/* .git/refs/tags/

$ rm -Rf .git/refs/remotes/origin/tags

这会使原来在 remotes/origin/tags/ 里的远程分支引用变成真正的(轻量)标签。

接下来,将 refs/remotes 下剩余的引用移动为本地分支:

$ cp -Rf .git/refs/remotes/* .git/refs/heads/

$ rm -Rf .git/refs/remotes

4.Push至Git公共库

可以通过以下命令将本地Git项目Push至远端Git公共库:

git remote add origin http://my-project.googlecode.git

推送本地所有branch至Git公共库

git push -u origin --all

推送本地所有tag至Git公共库

git push -u origin --tags

你可能感兴趣的:(svn迁移到gitlab)