因网络上文章参差不齐,参考操作步骤后,总是会出现各种问题,为了避免大家再走弯路,特整理此文章,为大家节约更多时间从事其他内容。如有冒犯,请谅解。

1、SVN账号对应Gitlib账号
       SVN使用的是用户账号展示的提交记录,但是git使用的是账号和邮箱进行人员确认的,因此我们需要使用将二者进行对应。在操作目录下创建txt文本文档,我这儿使用是svn2git.txt,文本内容如下:zhaoqian=zhaoqian <zhaoqian@gmail.com>,等号左边是SVN账号,等号右边是Gitlab账号和邮箱信息(注意:只有是操作过SVN的人员都需要转换,否则导入报错)。
有快捷方式,SVN账号可以用命令导出来的。
在工作目录下打开你的Git BASH 如下图:

 (你的windows先安装了Git以后才有的,前面文章有提起如何安装)进入你要保存账号对应文件svn2git.txt的目录(我是在d盘根目录使用:cd /d/qianyi),
执行如下命令:

svn log http://192.168.0.110/svn/android/huaxiapos/ -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"@gmail.com>"}' | sort -u > ./svn2git.txt

     命令说明:svn log 你的SVN项目的url -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"@gmail.com>"}' | sort -u > ./svn2git.txt,这是使用的Linux的awk命令导出的svn账号信息格式化的,当然我这里用的gmail邮箱,你可以自定义邮箱,打开看下是不是和上面的文本内容格式是一致的。

2、git-svn拉取SVN项目

git svn clone "http://192.168.0.110/svn/android/huaxiapos" --no-metadata --authors-file="d:/gitqianyi/svn2git.txt" huaxiapos

命令说明如下:git svn clone "你的SVN项目的url" --no-metadata --authors-file="d:/svn2git.txt" 你自定义的项目名,这是使用你的账号对应转换SVN的提交记录为git提交记录。这时huaxiapos目录下会把SVN服务器上的项目下载在本机目录下,并转换为git仓库项目。

执行成功后会按下面截图展示:

3、提交项目到gitlab
切换到刚才使用Git-svn拉取的huaxiapos项目目录下,

执行:git config --local user.name "你的gitlab用户名",git config --local user.email "你的gitlab邮箱",这两个是配置项目用户信息,例如:

git config --local user.name "zhaoqian"
git config --local user.email "zhaoqian@gmail.com"


执行:git remote add origin 你的gitlab项目的git地址(注意使用http开头的,不雅用git开头的), git push -u origin master,这两个命令是添加远程操作url和推送远程。

git remote add origin http://xxxx/android/huaxiapos.git   或

git remote add origin git@IP:/android/huaxiapos.git(ssh传输方式快,且不受文件大小限制,提交此命令无需在远程提前创建 huaxiapos仓库,命令会自己创建。

git push -u origin master 

显示以下进度页面:

 此时可以在Gitlib上看到上传的项目。

如果报错参考看下面问题回复:

在执行git-svn拉取SVN项目会报下面截图内容,此时是因为没有SSL证书,为了避免这个问题,

打开远程服务器将红色框中的对勾去掉,默认为80端口,此时不在需要证书,也不会报错,第2步的命令就可以正常执行了。

如果报:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
      fatal: The remote end hung up unexpectedly 请改用ssh地址模式进行上传项目

git remote add origin git@ip:android/huaxiapos.git

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐