svn迁移到gitlab

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

schacon = Scott Chacon <schacon@geemail.com>

selse = Someo Nelse <selse@geemail.com>

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容