假設需要轉換的SVN倉庫地址為:https://tmp/svn
1、使用git svn clone命令開始轉換
$ git svn clone https://tmp/svn -T trunk -b branches -t tags #git svn clone會將整個SVN倉庫導入到一個本地倉庫中, #-T trunk -b branches -t tags告訴Git,需要clone的SVN倉庫的基本分支和命名法則 #如SVN里的trunk,等同于Git里的master分支,整條選項可以使用-s代替 $ git svn clone https://tmp/svn -s #此命令與上面的效果一樣
2、Clone完成后,使用git show-ref命令查看git倉庫的基本情況
$ git show-ref f9e1af7a36109cdfb7934d2e9d9e7f7375609e43 refs/heads/master f9e1af7a36109cdfb7934d2e9d9e7f7375609e43 refs/remotes/origin/HEAD f9e1af7a36109cdfb7934d2e9d9e7f7375609e43 refs/remotes/origin/master 131ecb795ceb25ae7645b5eca041bad9c455f95b refs/remotes/origin/test
3、轉換SVN倉庫的svn:ignore屬性到Git倉庫的.gitignore文件
$ git svn create-ignore
4、 轉換SVN的標簽為Git標簽
$ cp -Rf .git/refs/remotes/tags/* .git/refs/tags/ $ rm -Rf .git/refs/remotes/tags
5、 轉換SVN的分支為Git分支
$ cp -Rf .git/refs/remotes/* .git/refs/heads/ $ rm -Rf .git/refs/remotes
6、最后把轉換完成的本地Git倉庫推送到Git服務器上
$ git remote add origin remote_address $ git push origin master --all
SVN那邊所有的標簽和分支都可以變更到了Git服務器里了。
原創文章,作者:N21-沉舟,如若轉載,請注明出處:http://www.www58058.com/21199