應專案經理要求,把SVN上的程式碼倉庫遷移到Gitlab上,實際上就是把SVN倉庫轉變成Git倉庫,並且希望能保留原SVN倉庫的Commit等歷史記錄,
1. 賬號對應
2. git-svn拉取原來SVN專案
3. 提交專案到Gitlab上
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