各種原因我們可能會遇到遷移svn到git的情況,下面介紹遷移的過程
1、安裝 git-svn
yum -y install git-svn
2、建立svn賬號和git賬號的映射關係
創建一個文件users.txt 內容如下
zhangsan=zhangsan<[email protected]>
jerry=jerry<[email protected]>
tom=tom<[email protected]>
3、將svn倉庫中的內容轉換爲git倉庫的內容
git svn clone http://svn.test.com/repos/erp/code/branch/mail --no-metadata --authors-file=users.txt mail_back
如果倉庫歷史悠久則執行時間會比較長,如果在svn服務器上操作可以將域名換成 127.0.0.1或localhost 會加快執行速度。命令的語法比較豐富,請參考其他文檔。
執行完這個命令後會自動在當前路徑創建一個本地的git倉庫 mail_back,這就完成了svn倉庫到本地git倉庫的轉換
下面介紹git倉庫的推送
4、在遠程git中創建倉庫 mail_back
如果是github、gitlib、gogs,可以在web管理界面在後臺創建一個倉庫,也可以使用命令創建一個遠程倉庫,這裏就不介紹了
5、關聯git遠程倉庫
cd mail_back
git remote add origin http://git.test.com/erp/mail_back.git
git remote -v 查看關聯情況,該命令會顯示git推拉的git遠程倉庫地址
如果關聯有誤可以刪除關聯 git remote rm origin
6、push至遠程git倉庫
git push -u origin master
$ git push -u origin master
Enumerating objects: 1745, done.
Counting objects: 100% (1745/1745), done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1492/1492), done.
Writing objects: 100% (1745/1745), 415.73 KiB | 1.46 MiB/s, done.
Total 1745 (delta 910), reused 0 (delta 0)
remote: 處理 delta 中: 100% (910/910), 完成.
To http://git.test.com/erp/mail_back.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
如果這條命令順利執行成功,那麼在遠程git倉庫就能看到提交的內容。
如果命令提交失敗,可以把整個本地倉庫目錄打包下來,到其他電腦上執行提交操作,比如可以在windows下使用gitbash進行提交。
本文內容到此結束。