svn迁移git的一次尝试

SVN 迁移 Git 步骤

1. 获取提交历史人员信息

进入svn管理的服务文件夹:

cd ExampleServer

保存提交历史人员列表:

svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /' > users.txt

2. 创建用户映射 ,将 SVN 用户和 Git 用户对应起来:

修改users.txt,将每一行都转换形式:

<author>svnusername</author>
修改为--->
svnusername = gitusername <email@address.com>

修改后的users.txt长这样:

svnusername = gitusername <email@address.com>
svnusername2 = gitusername2 <email2@address.com>

3. 使用git svn clone

新建一个目录,拷贝刚刚生成的users.txt

mkdir git_svn
cd ExampleServer/
mv users.txt ../git_svn/

执行git svn clone

cd git_svn/
git svn clone svn_proj_url --authors-file=users.txt --no-metadata ExampleServer

如果出现下面错误:

Can't locate SVN/Core.pm in @INC...

则执行一下:

yum install subversion-perl

执行完后,git_svn目录下会多出一个目录ExampleServer

4. 新建git库

在git库中下新建一个项目ExampleServer

https://github.com/gitusername/ExampleServer.git

5. push到远程git仓库

进入刚 clone 的新目录下:

cd git_svn/ExampleServer/

push到远程:

git remote add origin https://github.com/gitusername/ExampleServer.git
git push -u origin master

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏L宝宝聊IT

Nagios监控系统应用示例

2006
来自专栏Linux运维学习之路

day2、Linux别名

Linux中修改配置别名 ####用到的命令:   alias 是用来查看系统中有什么别名   source 让配置生效 临时取消别名的方法   unalias...

2578
来自专栏章鱼的慢慢技术路

Linux命令_磁盘管理_查看磁盘或目录的容量

2353
来自专栏一枝花算不算浪漫

[Linux]Linux下redis的安装及配置.

3038
来自专栏专注数据中心高性能网络技术研发

调整进程的最大linux文件描述符

1.介绍 ---- ulimit 命令提供了针对 shell和或由该 shell 启动的进程占用资源的控制。  持久化修改生效是在/etc/security/l...

3645
来自专栏桥路_大数据

CentOS7, mysql主从同步数据库配置

5436
来自专栏Petrichor的专栏

搜索指令

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。 与查询数据库(/var/lib/locatedb)文件不同,find查找的是磁盘空间。

1812
来自专栏腾讯云实验室

搭建 PySpider 爬虫服务

腾讯云提供了开发者实验室教你搭建 PySpider 爬虫服务,教程内容如下,用户可以点击开发者实验室快速上机完成实验。

3793
来自专栏运维小白

4.2 du命令

du命令 du命令,查看文件的大小 du命令用法 du -sh 目录/文件命令用法 du -sh 目录/文件 查看目录或文件的大小 [root@localh...

2279
来自专栏前端小叙

微信开发本地服务器映射外网服务器步骤顺序

1.这里推荐 http://ngrok.ciqiuwl.cn/  可以使用,ngrok官网的连接失败,据说是被墙了 2.在微信平台把相关信息填写好,暂时不提交(...

3688

扫码关注云+社区

领取腾讯云代金券