1. 程式人生 > 其它 >【SVN->GIT】專案倉庫遷移,保留commit歷史已錄

【SVN->GIT】專案倉庫遷移,保留commit歷史已錄

需求:

window系統下,將svn倉庫上的專案遷移至Git倉庫上,並保留commit歷史已錄。

前提:

1、工具版本資訊: svn版本 TortoiseSVN 1.13.1, Build 28686 - 64 Bit,GIT版本 2.33.1.window.1

2、學習《svn遷移到git倉庫並保留commit歷史記錄》,傳送門,使用“二”中的方案。

正文:

1、確認系統中安裝的git是否支援,git-svn,低版本git中可能不支援,在Ubuntu中git-svn是作為一個獨立的Package需要額外安裝的。window系統下可以直接安裝我用的git版本,經測可用,無需安裝。

Linux中安裝命令:sudo apt-get install git-svn 環境變數配置:將/usr/lib/git-core配置到你的PATH環境變數中。

2、按文章進行一下幾步操作

1)svn賬號與git賬號對映,user.txt

svn賬號=git賬號名稱<[email protected]>

2)svn轉換為git

git svn clone svn://ip埠/projectname --no-metadata --authors-file=user.txt --trunk=trunk projectname
cd projectname

or

git svn clone http://
ip埠/projectname --authors-file=user.txt --trunk=trunk projectname cd projectname

ps:未搞懂--no-metadata 引數作用,未使用; user.txt 放置在git base here 所選目錄下即可

執行效果:

接下來交給時間,一直等,知道clone結束

3)新增git倉庫

 git remote add origin http://ip埠號/r/virtualSceneICV.git

4)提交到git

git push -u origin master

ps:

若因倉庫資訊填寫有誤,二次修改執行後再進行push時會報錯

解決如下:

1)git remote rm origin

2)git remote add origin ...

3)git push origin master

3、遷移前後效果對比

svn

git