溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux下怎么將SVN遷移至Git

發(fā)布時間:2022-01-26 14:37:51 來源:億速云 閱讀:155 作者:zzz 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Linux下怎么將SVN遷移至Git”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux下怎么將SVN遷移至Git”吧!

1.物理環(huán)境

Git–server    Centos5.8    192.168.1.245
Svn–server    Centos5.8    192.168.1.108

2.建立SVN用戶到git用戶的映射文件

建立SVN用戶到git用戶的映射文件,文件格式如下:

cat /tmp/userinfo.txt
david=sfzhang
yanni=yanni

3.克隆一個git版本庫

通過git svn clone克隆一個git版本庫,SVN里面包含trunk,branches和tags。

git svn clone svn://192.168.1.108:9999/yanzi/ --no-metadata --authors-file=userinfo.txt --trunk=trunkmobile --tags=tags --branches=branches --ignore-refs=refs/remotes/yanzi-.*  yanzi

參數(shù)–no-metadata表示:阻止git導(dǎo)出SVN包含的一些無用信息 參數(shù)–authors-file表示:SVN賬號映射到git賬號文件,所有svn作者都要做映射 參數(shù)–trunkmobile表示:主開發(fā)項(xiàng)目 參數(shù)–branches表示:分支項(xiàng)目,–ignore-refs表示不包含后面的分支項(xiàng)目 參數(shù)yanzi表示:git項(xiàng)目名稱

4.查看項(xiàng)目提交的歷史記錄

通過git log 查看項(xiàng)目提交的歷史記錄,包括作者,日照,和提交注釋信息等。

cd yanzi
git logcommit 3c4907782804096ea3fa3fb5419dcce610e56f1f
Author: david
Date:   Fri May 10 10:27:50 2013 +0000

5.列出當(dāng)前所有的分支

cd yanzi
git branch -r
 tags/mobile_1.0.0
 tags/mobile_1.0.1
 trunk
 yanziios1.0.1-build-2223-branch-002

6.手動將branches分支轉(zhuǎn)換為tags

git tag mobile_1.0.0 tags/mobile_1.0.0
git tag mobile_1.0.1 tags/mobile_1.0.1

7.將多余的branches刪除掉

git branch -r -d tags/mobile_1.0.0
Deleted remote branch tags/mobile_1.0.0 (was d50002b).
git branch -r -d tags/mobile_1.0.1
Deleted remote branch tags/mobile_1.0.1 (was e7b78a2).

8.再次列出當(dāng)前的所有分支

git branch -r
 trunk
 yanziios1.0.1-build-2223-branch-002

9.建立git倉庫并初始化版本庫

mkdir -p /data/gitdata/yanziios.gitcd /data/gitdata/yanziios.git/
git init --bare
Initialized empty Git repository in /data/gitdata/yanziios.git/

10.將yanziios.git的屬主修改為git用戶

chown git yanziios.git -R
ls -l yanziios.git/
total 64
drwxr-xr-x 2 git root 4096 May 22 12:25 branches
-rw-r--r-- 1 git root   66 May 22 12:25 config
-rw-r--r-- 1 git root   73 May 22 12:25 description
-rw-r--r-- 1 git root   23 May 22 12:25 HEAD
drwxr-xr-x 2 git root 4096 May 22 12:25 hooks
drwxr-xr-x 2 git root 4096 May 22 12:25 info
drwxr-xr-x 4 git root 4096 May 22 12:25 objects
drwxr-xr-x 4 git root 4096 May 22 12:25 refs

11.添加遠(yuǎn)程git服務(wù)器地址

git remote add origin git@192.168.1.245:/data/gitdata/yanziios.git

12.推送全部的分支和標(biāo)簽信息到git服務(wù)器上

git push origin master --tags

之后就是SVN遷移到Git測試,在客戶端用SourceTree工具克隆一個Git服務(wù)端倉庫yanziios.git,在SourceTree圖形界面里面可以看到git用戶提交的Graph信息,描述信息(Description),日期,作者和版本號等信息。

感謝各位的閱讀,以上就是“Linux下怎么將SVN遷移至Git”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Linux下怎么將SVN遷移至Git這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI