ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

将svn源代码有提交记录地切换到git

2022-07-22 21:32:46  阅读:138  来源: 互联网

标签:svn ... git -- xxx 源代码


1.准备物料
a.待切换的svn源代码地址:http://xxx/.../Branches/svnproject
b.目标git源代码地址(需要事先在git上手动创建好git工程):https://xxx/.../gitproject.git
c.gitbash(windows上使用bash工具,linux可忽略)

2.打开gitbash工具,创建/d/git/myspace/目录
cd /d/git/myspace/

3.获取svn提交作者并做映射
svn log http://xxx/.../Branches/svnproject --quiet | awk '/^r/ {print $3}' | sort | uniq >./authors.txt

记事本打开authors.txt得到如下提交作者信息:

 

 按照如下格式做映射并保存

2118645 = 张三 <wkh@163.com>
2237141 = 李四 <237141@163.com>
2256660 = 王五 <256660@163.com>
2260785 = Lily <260785@163.com>
227701 = 未知 <27701@163.com>
SVN_Admin = SVN_Admin <SVN_Admin@163.com>

4.获取svn历史版本信息到本地

git svn clone http://xxx/.../Branches/svnproject -r 2192188:HEAD --no-metadata --authors-file ./authors.txt gitproject

因完整获取svn提交历史信息非常耗时,故红色处标记了从指定svn版本号到最新版本。如果要全量获取,去掉红色文本即可

5.git中可查看到原svn中的历史提交信息

cd gitproject
git log

6.把转换后的本地Git仓库推到公共的Git服务器

git remote add origin https://xxx/.../gitproject.git 
git push origin master --tags

所有的标签和主干现在都应该整齐干净的躺在新的Git服务器里了。如果要将分支也同步到远程Git服务器,将--tags改为--all。

最后可以在git仓库中查看push上去的源代码地址了。

标签:svn,...,git,--,xxx,源代码
来源: https://www.cnblogs.com/franson-2016/p/16508033.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有