首页 / SVN / SVN源码迁移到GIT
SVN源码迁移到GIT
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SVN源码迁移到GIT,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1746字,纯文字阅读大概需要3分钟。
内容图文
![SVN源码迁移到GIT](/upload/InfoBanner/zyjiaocheng/683/94e7e1885071408a97a9dea2638eb8f9.jpg)
今天接到任务要把部门一个svn项目迁移到git上去,这对我这个菜鸟来说还是比较难受的。因为我git学了个半吊子,svn又完全没有接触过,但是没办法,硬着头皮也得上啊。
花了一个小时的时间在网上查了各种关于svn的教程,然后又简单了解了svn与git的不同之处,幸亏大佬又给我了帮助文档,在万分感激中开始迁移工作。
首先,需要知道项目的svn链接,这里假设项目路径为svn://practice。同时确保你要迁移的git项目已经创建,没有就创建一个喽,这里假设git仓库的地址为http://test.git。
在你本地选定的仓库下执行如下命令,这里假设本地仓库的名字叫做gittest。
git svn clone svn://practice --authors-file=authors.txt --no-metadata gittest
关于--authors-file=authors.txt 和--no-metadata可以参考如下链接https://git-scm.com/book/zh/v2/Git-与其他系统-迁移到-Git。
进入到gittest目录下,接下来将refs/remotes
下剩余的引用移动为本地分支:
rm -Rf .git/refs/remotes
现在所有的旧分支都是真正的 Git 分支,并且所有的旧标签都是真正的 Git 标签。 最后一件要做的事情是,将你的新 Git 服务器添加为远程仓库并推送到上面。 下面是一个将你的服务器添加为远程仓库的例子:
$ git remote add origin http://test.git
因为想要上传所有分支与标签,你现在可以运行:
$ git push origin --all
到此,你的项目因该已经上传到git上了。
但是还存在着一些问题,由于开发流程的不规范,有些原svn上的代码与线上代码不一致,以后要走git的发布流程必须保证git上的代码与线上的代码一致,此时可以拉取线上的代码重新上传git仓库,过程如下:
我现在只想要py和go的脚本,不想要其他一些无关的日志文件,而且tmp目录的所有文件我都不想让它出现在项目里。刚开始我用如下的命令打包线上代码:
sudo find /data/test -path "/data/test/tmp" -prune -o -name "*.py" -o -name "*.go" | xargs tar -czvPf gittest.tar.gz
关于这条命令的细节可以参考https://blog.csdn.net/u011517841/article/details/53204524,-path 显示除当前目录之外的所有文件,如果/data/test/tmp存在,则-prune
内容总结
以上是互联网集市为您收集整理的SVN源码迁移到GIT全部内容,希望文章能够帮你解决SVN源码迁移到GIT所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。