svn 迁移到git下全过程

git的出现,让svn深受打击,大家纷纷转战git。没错,我也移情别恋了,一下就描述一下抛弃svn,迷上git的过程吧

简单粗暴,命令如下:

git svn clone https://localhost:8443/svn/www/ –no-metadata –trunk=trunk www

参数说明:

no metadata 参数是阻止git 导出svn包含的附加信息,这样提交到Git的记录就会显得很“干净”

trunk 主分支

www 创建的git项目名称

执行过程可能会有svn帐户的输入,反正就用户名跟密码吧

2.代码克隆下来之后,这已经是一个git下checkout的项目了,只是他还没有代码库源,简单的说就是他还没有个git下固定的家(他生母是svn,得给他找个继母),因此要先在你的github,或者你们公司内部搭建的git平台,创建一个 属于www项目的git库,当然也可以自己本地创建,这里就不详细说了,等下说到代码部署会说到。

比如代码库如下:

git@gitlab.xxx.com:second/test.git

为了证明www确实还没有新妈,你可以用命令:

git remote -v 查看一下是否有源,执行完很明显,什么都没显示

接下来就是把你的www库领回test.git这个妈的家里,命令如下:

git remote add git@gitlab.xxx.com:second/test.git

执行完之后,你可以再执行一次git remote -v 你会发现如下:

 

origin刚才谷歌翻译了一下,是起源的意思,其实在执行git remote add 原本是需要给源取个名字的,比如发布源 release

就需要这样输入git remote add  release git@gitlab.xxx.com:second/test.git,因为www还没有源,所以添加的就变成默认的源,也就是起源了,因此省略了 origin

到这里,已经完成了认识新妈的过程,接下来干嘛,没错,所有代码领回家,命令如下

git push

代码从svn 到git 就算完成了。

其实在这个过程里似乎漏了一步,没有在git下创建分支,git branch -a  查看一下,发现已经自动创建了默认主分支master