Git在代碼管理方面比SVN有更多的優(yōu)勢,如代碼審查,分支和合并。
一、準(zhǔn)備工作
- 安裝Git環(huán)境,配置本地git賬戶信息:
git config --global user.name "XXX"
git config --global user.email "XXX@mail.com"
可通過命令git config -l 查看結(jié)果
- SVN的用戶名和密碼(同步代碼時需要輸入)
- svn賬號與git賬號映射,新建文件 userinfo.txt,左側(cè)是SVN的賬號,右側(cè)是git賬號信息,用=號連接:
svn1=git1<git1@mail.com>
svn2=git2<git2@mail.com>
svn3=gitx<gitx@mail.com>
注意:
- 需要將涉及到的同步記錄中的用戶都做映射,否則在同步時可能會報錯
- 對于無法對應(yīng)的人員,如離職人員,有SVN賬號,但是沒有現(xiàn)在的GIT賬號,保險起見,可以采用無關(guān)緊要的賬號進(jìn)行對應(yīng),或者單獨(dú)建一個賬號也可以,例如使用的test賬號進(jìn)行標(biāo)識的
二、導(dǎo)出SVN項目至本地
- 創(chuàng)建空文件夾用于存放SVN的代碼,并將userinfo.txt文件放置在同一層級
│ userinfo.txt
└─ MyProject
- 鼠標(biāo)右鍵 選中Git Bash Here 進(jìn)入git命令行,執(zhí)行:
git svn clone -r 12345:HEAD svnurl --no-metadata --authors-file=userinfo.txt MyProject
此處的 -r 12345:HEAD 表示從svn的12345版本到最新版本的提交記錄,避免拉取所有數(shù)據(jù)量過大,操作耗時高。svnurl是svn項目地址。如果需要拉取所有記錄,可去除 -r 12345:HEAD
- 執(zhí)行命令后,會彈窗要求輸入SVN的賬號和密碼,然后就會進(jìn)行同步操作,最終時間長短主要是看需要同步提交記錄的多少。
三、與遠(yuǎn)程git倉庫關(guān)聯(lián)起來
- 進(jìn)入項目文件夾,
cd MyProject
- 關(guān)聯(lián)遠(yuǎn)程事先創(chuàng)建好的git項目
git remote add origin gitURL
如:git remote add origin http://192.168.1.xx:5678/MyProject.git
- 查看關(guān)聯(lián)情況:
git remote -v
- 如果關(guān)聯(lián)有誤,可以刪除關(guān)聯(lián)
git remote rm origin
- 推送本地項目到git倉庫
- 提交記錄之前,先拉取遠(yuǎn)程git項目文件(如:README.md),否則直接提交會報錯
git pull --rebase origin master
- 拉取成功后,執(zhí)行push命令
git push -u origin master
執(zhí)行命令后,可能會彈窗要求輸入Git的賬號和密碼文章來源:http://www.zghlxwxcb.cn/news/detail-775973.html
ref:
1、SVN遷移至GIT,并附帶歷史提交記錄
2、SVN遷移至Git,保留commit提交記錄文章來源地址http://www.zghlxwxcb.cn/news/detail-775973.html
到了這里,關(guān)于SVN遷移至GitLab,并附帶歷史提交記錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!