svn 遷移到git
1.物理環境
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
引數–no-metadata表示:阻止git匯出SVN包含的一些無用資訊
引數–authors-file表示:SVN賬號對映到git賬號檔案,所有svn作者都要做對映
引數–trunkmobile表示:主開發專案
引數–branches表示:分支專案,--ignore-refs表示不包含後面的分支專案
引數yanzi表示:git專案名稱
4.檢視專案提交的歷史記錄
透過git log 檢視專案提交的歷史記錄,包括作者,日照,和提交註釋資訊等。
cd yanzi git log commit 3c4907782804096ea3fa3fb5419dcce610e56f1f Author: david Date: Fri May 10 10:27:50 2013 +0000
5.列出當前所有的分支
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分支轉換為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.再次列出當前的所有分支
git branch -r trunk yanziios1.0.1-build-2223-branch-002
9.建立git倉庫並初始化版本庫
mkdir -p /data/gitdata/yanziios.git cd /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.新增遠端git伺服器地址
git remote add origin git@192.168.1.245:/data/gitdata/yanziios.git
12.推送全部的分支和標籤資訊到git伺服器上
git push origin master --tags
之後就是SVN遷移到Git測試,在客戶端用SourceTree工具克隆一個Git服務端倉庫yanziios.git,在SourceTree圖形介面裡面可以看到git使用者提交的Graph資訊,描述資訊(Description),日期,作者和版本號等資訊。
|
相關知識連結: |
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2906344/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 功能分支是邪惡的:從SVN遷移到Git經驗Git
- 如何從SVN遷移原始碼到Git倉庫原始碼Git
- 【GitHub】建立Git分支將Hexo部落格遷移到其它電腦GithubHexo
- 【遷移】SqlServer 遷移到 MySQL 方法ServerMySql
- WSL遷移到其他磁碟
- 從 Nginx 遷移到 Envoy ProxyNginx
- 從 golang flag 遷移到 cmdrGolang
- 將nodejs遷移到D盤NodeJS
- Python 決定遷移到 GitHubPythonGithub
- 如何將 CentOS遷移到 AlmaLinux?CentOSLinux
- centos遷移到rocky linux方法CentOSLinux
- uniapp小程式遷移到TSAPP
- Git和SVN的對比Git
- git和SVN的區別?Git
- svn和git的區別Git
- 5. ActiveMQ平滑遷移到kafkaMQKafka
- LiveData 遷移到 Kotlin Flow詳解LiveDataKotlin
- 使用DynamoShake從dynamodb遷移到mongodbMongoDB
- 從mpvue遷移到uni-appVueAPP
- [譯]從 SQLite 逐步遷移到 RoomSQLiteOOM
- MySQL資料庫遷移到PostgresMySql資料庫
- [譯] 從 SQLite 逐步遷移到 RoomSQLiteOOM
- EF Core從TPH遷移到TPT
- github倉庫遷移到gitlab以及gitlab倉庫遷移到另一個gitlab伺服器GithubGitlab伺服器
- Gradle指南之從Groovy遷移到KotlinGradleKotlin
- VMware虛擬機器遷移到PVE虛擬機
- Python 將所有 Bug 遷移到 GitHub 中PythonGithub
- 為什麼把 dig 遷移到 wire
- 乾貨好文 | 初探MySQL遷移到ClickHouseMySql
- [譯] 將專案遷移到 Yarn 然後又遷回 npmYarnNPM
- svn和git版本管理優缺點Git
- git與svn的區別面試Git面試
- 02 SVN 與 Git 的優缺點Git
- Spring Boot 從1.5遷移到2.0.5 - DZone JavaSpring BootJava
- 從eclipse遷移到idea(1 安裝篇)EclipseIdea
- 【譯】遷移到Room的7個步驟OOM
- 使用SpringCloud將單體遷移到微服務SpringGCCloud微服務
- 騰訊雲伺服器遷移到Vultr伺服器