參考文章Converting a Subversion repository to Githtml
cd ~/test_repo git svn clone file:///home/***/Desktop/SVN/svn_repo/ -T trunk -b branches -t tags
cd .. mkdir test.git cd test.git git init --bare
git symbolic-ref HEAD refs/heads/trunk
cd ~/test_repo git remote add bare ~/test.git git config remote.bare.push 'refs/remotes/*:refs/heads/*' git push bare
此時就完成了推送,能夠刪除test_repo了git
cd ~/test.git git branch -m trunk master
使用git svn clone導出版本庫的時候會將svn中的tags保存成git中的tags/**,而並非默認的tag,因此要進行移動svn
cd ~/test.git git for-each-ref --format='%(refname)' refs/heads/tags | cut -d / -f 4 | while read ref do git tag "$ref" "refs/heads/tags/$ref"; git branch -D "tags/$ref"; done
進入工做文件夾,執行gitlab
git clone ~/test.git
使用git進行版本管理吧spa
==========================================.net
(二)版本控制
最近在作svn遷移到gitlab,因爲以前一直是由svn作版本控制。最簡單的方式是將svn的內容export出來,而後添加到gitlab便可。可是,若是svn用的時間很長了,並且不少commit,咱們但願保存svn commit的信息以便作版本的控制和比較。幸虧git提供了相應的解決辦法。code
- 已安裝git
- 已安裝gitlab
yum install -y git-svn
orm
svn帳號=git帳號名稱<username@mail.com>
git svn clone svn://ip端口/projectname --no-metadata --authors-file=users.txt --trunk=trunk projectname cd projectname
git remote add origin git@xxx.xxx.xxx.xxx:root/projectname.git
git push -u origin master
參考文檔:htm