SVN遷移到Gitlab

2020-08-13 08:16:51

1.背景

應專案經理要求,把SVN上的程式碼倉庫遷移到Gitlab上,實際上就是把SVN倉庫轉變成Git倉庫,並且希望能保留原SVN倉庫的Commit等歷史記錄,

2. 總體步驟

   1. 賬號對應
   2. git-svn拉取原來SVN專案
   3. 提交專案到Gitlab上

3. 執行過程

SVN遷移到Gitlab需要安裝git-svn

# yum install -y git-svn

賬戶對應

SVN使用的是使用者賬號展示的提交記錄:新建個txt文字文件,名字隨便取(但是我這兒使用是svn2git.txt),文字內容如下:zhangsan=zhangsan [email protected],等號左邊是SVN賬號,等號右邊是Gitlab賬號和郵箱資訊

執行如下命令:

svn log 你的SVN專案的url -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"@gmail.com>"}' | sort -u > ./svn2git.txt

git-svn拉取SVN專案

git svn clone "SVN專案的url" --no-metadata --authors-file="d:/svn2git.txt" 自定義的專案名

提交專案到gitlab

git remote add origin ssh://git@gitlab.baidu.com:2020/PHP/project_xx.git
git push origin master --tags