SVN项目迁移到Git上(并带有完整的提交记录)
公司需求:早期的一些项目使用的是SVN,现在想要更换为Git,需要代码迁移并且能在Git上看到之前在SVN中的项目的提交记录,公司没有使用gitlab,代码都push在公司的服务器上,用的是TortoiseGit来管理的。
第一步:公司服务器系统(centos6.8),安装git
- yum -y install git
第二步:创建git用户:
- useradd git #创建名称为git的用户
- passwd git #git用户对应的密码也为git
第三步:创建git仓库:
- mkdir /home/git/gitrepo
cd /home/git/gitrepo
git init --bare test.git
chown -R git:git test.git
第四步:开始将svn代码做迁移操作,在windows上任意创建一个空文件夹GitTest,作为一个Git本地仓库,用来存放从SVN上迁移过来的代码。
第五步:在这个文件中打开Git Bash
第六步: 在GitBash中输入clone的命令,在Bash中输入如下指令, 就会开始迁移”git svn clone svnUrl”, 其中里面的svnUrl就是你要迁移的项目的SVN地址
这时会弹出来两个对话框, 让你输入SVN的账号和密码, 当你输入正确的SVN账号和密码时, 代码就会开始迁移. 就会出现如下类似的log
这就表示迁移成功了, 现在要想看以前的提交记录是否迁移过来的话, 我们就需要在命令行里进入的本地仓库根目录中(也就是带有.git的目录), 进入之后输入git log, 就可以看到以前的提交记录了。
第七步:push本地仓库到远程服务器仓库,注意:首先要确保你的远程服务器上有这么一个仓库
#git remote add origin git@192.168.66.13:/home/git/gitrepo/test.git
进行这两个操作的时候, 会提示你输入你的Git的账号和密码, 点击ok之后就会进行push操作.
注意: 这一步的时候可能会提示一个错误:fatal: remote origin already exists.
如果出现如上所说的错误,解决办法:
- $ git remote rm origin #删除远程git仓库
然后在执行第七步。
完成以上步骤后,测试一下,使用TortoiseGit客户端clone项目
在查看下是否有提交信息
SVN项目迁移到Git上(并带有完整的提交记录)的更多相关文章
- Git SVN Clone 旧项目迁移到 Git 上
Git SVN Clone 旧项目迁移到 Git 上 很久使用的是 SVN,但由于项目重启,想改为 Git. 之前的 SVN 仓库是本地,所以在 git svn clone 一直不成功. 正确的方式: ...
- SVN项目迁移到GIT
源项目为SVN项目, 复制一份出来后. 在VS里无法修改 源码管理器的插件为GIT. 解决方法: 删除SVN插件信息 在解决方案文件中. 删除以下SVN信息就可以了 删除后:
- svn项目迁移至gitlab
关于svn项目迁移有人可能会说,新建一个git项目,把原来的代码直接扔进去提交不完了吗.恩,是的,没错.但是为了保留之前的历史提交记录,还是得做下面的步骤 首先确保本地正常安装配置好git,具体步骤不 ...
- 微服务开发有道之把项目迁移到Kubernetes上的5个小技巧
我们将在本文中提供5个诀窍帮你将项目迁移到Kubernetes上,这些诀窍来源于过去12个月中OpenFaas社区的经验.下文的内容与Kubernetes 1.8兼容,并且已经应用于OpenFaaS ...
- 如何永久删除git仓库中敏感文件的提交记录
如何永久删除git仓库中敏感文件的提交记录 参考: 1. https://help.github.com/articles/remove-sensitive-data/
- SVN如何迁移到Git?
最近在使用华为软件开发云进行开发项目管理,目前华为软件开发云支持500M的免费项目空间,而且还可以在线编译和构建,不用担心开发环境和生产环境的不同,很好的体现了DevOps的开发理念. 之前一直是用s ...
- svn版本控制迁移到git
获得原 SVN 仓库使用的作者名字列表 因为导入到git需要配置原作者(svn提交人)和git账户的映射关系 其格式为: vim authors-transform.txt taoxs = xsTao ...
- SVN仓库迁移到Git的完美解决办法
参考文章Converting a Subversion repository to Git 1 使用git svn clone 拷贝svn仓库 cd ~/test_repo git svn clone ...
- git log 查看指定文件的提交记录
使用git log除了可以看整个仓库的提交记录外,还可以指定某个文件的提交记录. 1. 查看指定文件的历史提交记录 命令: git log -- <file> 说明:只需要指定文件名称. ...
随机推荐
- SpringCloud知识点20190313
1.SpringBoot和SpringCloud的关系(面试题) Spring Boot 可以离开 Spring Cloud 单独使用开发项目,但是Spring Cloud离不开SpringBoot, ...
- python 各种推导式玩法
推导式套路 除了最简单的列表推导式和生成器表达式,其实还有字典推导式.集合推导式等等. 下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variable = [out_exp_re ...
- dubbo源码分析6——SPI机制中的AOP
在 ExtensionLoader 类的loadFile方法中有下图的这段代码: 类如现在这个ExtensionLoader中的type 是Protocol.class,也就是SPI接口的实现类中Xx ...
- Suspend to RAM和Suspend to Idle分析,以及在HiKey上性能对比【转】
转自:https://www.cnblogs.com/arnoldlu/p/6253665.html 测试环境:AOSP 7.1.1+Kernel 4.4.17 HW:HiKey Ubuntu 14. ...
- 正则表达式处理BT的html嵌套问题
在博问里面求教大神,把问题搞定.在此做个记录备份,也给碰到类似问题的园友提供解决思路. 简化的业务场景就是,在页面html标签中的属性中嵌套了html标签,怎么用用正则表达式过滤闭合的html标签(& ...
- MVC 当前上下文中不存在名称“Styles” “Scripts”
它们在程序集System.Web.Optimization下,只要全名引用即可 修改配置 在web项目的Views下的web.config修改如下即可,如果是Areas下,处理方法相同 <sys ...
- JQery插件zClip ----实现粘贴复制功能
使用了这个插件,但是用在table,td中话,我是一个列表来的,对此使用此插件还是有点问题的?点击其中的一个会全部都被选中. <script type="text/javascript ...
- PHP中使用Redis长连接笔记
pconnect函数声明 其中time_out表示客户端闲置多少秒后,就断开连接.函数连接成功返回true,失败返回false: pconnect(host, port, time_out, pers ...
- OCP 相关课程列表
OCP 相关课程列表 第一天:Linux基础 和 Oracle 11 R2 数据库安装教程图解 1:< VM 安装 linux Enterprise_R5_U4_Server_I386_DVD教 ...
- Confluence 6 关于统一插件管理器
所有的组件通过 统一插件管理器(Universal Plugin Manager)进行管理,这个也被称为 UPM.UPM 可以在几乎所有的 Atlassian 应用中找到,能够提供完整同意的插件安装管 ...