SVN项目迁移到Git上(并带有完整的提交记录)

  • 作者: 凯哥Java
  • 经验分享
  • 时间:2020-06-21 09:02
  • 244人已阅读
简介 公司需求:早期的一些项目使用的是SVN,现在想要更换为Git,需要代码迁移并且能在Git上看到之前在SVN中的项目的提交记录,公司没有使用gitlab,代码都push在公司的服务器上,用的是TortoiseGit来管理的。 第一步:公司服务器系统(centos6.8),安装gityum -y install git第二步:创建git用户:useradd&nb

公司需求早期的一些项目使用的是SVN,现在想要更换为Git,需要代码迁移并且能在Git上看到之前在SVN中的项目的提交记录,公司没有使用gitlab,代码都push在公司的服务器上,用的是TortoiseGit来管理的。

 

第一步:公司服务器系统(centos6.8),安装git

yum -y install git

第二步:创建git用户:

useradd git  #创建名称为git的用户passwd git   #git用户对应的密码也为git

第三步:创建git仓库:

 /home/git/gitrepo
cd /home/git/gitrepo
git init --bare test.git
chown -R git:git test.git

第四步:开始将svn代码做迁移操作,在windows上任意创建一个空文件夹GitTest,作为一个Git本地仓库,用来存放从SVN上迁移过来的代码。

21cb8dc7d20620b86bf02215f269ce08.png

第五步:在这个文件中打开Git Bash

b4f838fccb5941b2994cf2fe5120e5de.png

第六步: 在GitBash中输入clone的命令,在Bash中输入如下指令, 就会开始迁移”git svn clone svnUrl”, 其中里面的svnUrl就是你要迁移的项目的SVN地址

5fcd829b765f9c58b8afd551cf1662c2.png

比如:你的svn地址是:svn://www.kaigejava.com/kaigejava

那么使用的命令就是:git svn clone svn://www.kaigjava.com/kaigejava

这时会弹出来两个对话框, 让你输入SVN的账号和密码, 当你输入正确的SVN账号和密码时, 代码就会开始迁移. 就会出现如下类似的log

4dbbee1cdb6ec0dc0e8dcda63ee8a03d.png

请注意:输入的是SVN的账号和密码

这就表示迁移成功了, 现在要想看以前的提交记录是否迁移过来的话, 我们就需要在命令行里进入的本地仓库根目录中(也就是带有.git的目录), 进入之后输入git log, 就可以看到以前的提交记录了。

第七步:push本地仓库到远程服务器仓库,注意:首先要确保你的远程服务器上有这么一个仓库

#git remote add origin https://github.com/aijoo2012/kaigejava.git

56be01d44dc5bd239bfabb68414d20ff.png

进行这两个操作的时候, 会提示你输入你的Git的账号和密码, 点击ok之后就会进行push操作.

请注意:这里输入的是git的用户名和密码
注意: 这一步的时候可能会提示一个错误:fatal: remote origin already exists.

如果出现如上所说的错误,解决办法:

$ git remote rm origin #删除远程git仓库

然后在执行第七步。

 需要注意:当出现:

fatal: not a git repository (or any of the parent directories): .git

 38ed36f414d34955f9df73dbd458c208.png

说明再执行命令的时候,出现上面这个问题,说明目录不对。需要进入有.git的目录里面

731b98d8bcc6ae5135412e3d8644941e.png

完成以上步骤后,测试一下,使用TortoiseGit客户端clone项目

a443c3fbdd68480e62e271e3cee86519.png

在查看下是否有提交信息

a443c3fbdd68480e62e271e3cee86519.png

 




https://www.cnblogs.com/new-journey/p/10178883.html


Top Top