一、准备
1.git安装
2.git全局账号配置
任意磁盘目录->鼠标右键->Git Bash Here 进入git命令行,输入如下命令:
(第一条设置github下注册的用户名,第二条设置github下注册的邮箱)
git config –global user.name “userid”
git config –global user.email “xxx@xxx.com”
3.查看配置
git config –list
4.svn账号与git账号做映射
首先准备一个userinfo.txt,设置svn账户与git账户的对应关系:
(注:svn账号在svn中有记录,但无git账号,提交记录中涉及到的svn账号需要全部列举出来,否则会报错。) 格式如下
zhangsan = zhangsan<zhangsan@
xxx.com
>
lisi = lisi<lisi@
xxx.com
>
二、导出SVN项目至本地
1.在存放userinfo.txt的同级目录下新建一个项目文件夹
2.鼠标右键->Git Bash Here 进入git命令行:(如果项目版本和提交记录过多,这个过程可能持续时间很久很久,毫不夸张本人曾经迁移过10多年的超大项目,clone到本地足足花了两天两夜)
注:
-r 10010:HEAD |
代表从svn的10010版本到最新版本的提交记录,避免从第一个版本拉取数据量过大,操作耗时过长。如果需要拉取所有记录,可去除 -r 10010:HEAD |
|
svn://<url> | 是svn项目地址 | |
<project> | 本地工程目录路径名称 | |
-s |
告诉 Git 该 Subversion 仓库遵循了基本的分支和标签命名法则,也就是标准布局。 如果你的主干(trunk,相当于非分布式版本控制里的master分支,代表开发的主线),分支(branches)或者标签(tags)以不同的方式命名,则应做出相应改变。 -s参数其实是-T trunk -b branches -t tags的缩写,这些参数告诉git这些文件夹与git分支、tag、master的对应关系。 |
|
|
给svn的所有remote名称增加了一个前缀svn,这样比较统一, |
三、关联git远程仓库
1. clone 成功后,输入如下命令:
cd <project> cd到刚clone完成的工程目录
git remote add origin git://url
注:git://url是你的git项目地址,ssh链接方式git开头,http方式用http开头
2. 查看关联情况:
git remote -v
3. 如果关联有误,可以删除关联
git remote remove origin
四、提交记录至git
提交记录之前,先拉取远程git项目文件(
README.md
),否则直接提交会报错
git pull –rebase origin master
拉取成功后,执行push命令
git push origin master