Migrate From SVN to Git While Reserve The History Commit Messages
This article will introduce the experience of migrate code repository from SVN to Git while reserve the history commit messages.
Commands used to migrate code repository from SVN to Git
##clone svn -> git 地址支持协议 : svn://, http://, https://. 注意这个 URL 应该指向项目的 base repository,例如
##http://svn.mycompany.com/myrepo/repository. 不要指到了 /trunk, /tag 或 /branches 里。
## -s 选项,指明svn采用标准目录结构.
git svn clone svn://10.68.245.11/tclshop --authors-file=users.txt --no-metadata -s dufy-move
##进入clone 的文件夹
cd dfuy-move
##使所有的 SVN commit 都被抓下来了
git svn fetch
##在git中查看svn commit记录信息
git log --pretty=oneline
##查看分支 -- svn tag的被解析为git分支 ,需转换一下
git branch -r
##转换分支-tag
git tag tags_20160329_hg origin/tags/tags_20160329_hg
##删除远程的分支(tags)
git branch -r -d origin/tags/tags_20160329_hg
##本地初始化git仓库完成
git remote add origin git@10.68.25.20:move/dufy-tclshop-test-two.git
#推送到远端的git的仓库中
git push origin master --tags
##切换到分支
git checkout 16130_20151125_hg
##提交分支到远程的仓库中
git push origin 16130_20151125_hg