subversion轉git以及git倉庫合併

2021-09-01 20:11:18 字數 1405 閱讀 3937

公司決定轉向github,所以今天遇到的問題是要把兩個subversion倉庫合併到乙個github倉庫中。

subversion轉git這個問題很容易,github推薦使用svn2git這個指令碼。 官方**上寫出了詳細的安裝方法,如下:

$ sudo apt-get install git-core git-svn ruby rubygems

$ sudo gem install svn2git

然後建立兩個子目錄,存放轉換後的兩個subversion倉庫:

$ mkdir tmp && cd tmp 

$ mkdir projecta projectb

開始轉換:

[charlee@ubuntu:~/tmp]$ cd projecta

[charlee@ubuntu:~/tmp/projecta]$ svn2git # 由於是標準目錄結構,這裡不需要指定trunk分支

[charlee@ubuntu:~/tmp/projecta]$ cd ../projectb

[charlee@ubuntu:~/tmp/projectb]$ svn2git

[charlee@ubuntu:~/tmp]$ cd ..

這樣就得到了projecta和projectb兩個git倉庫。接下來用stackoverflow上提到的git-stitch-repo將這兩個倉庫合併成乙個。首先安裝git-stitch-repo:

$ tar xzvf git-fastexport-0.07.tar.gz

$ make

$ sudo make install

[charlee@ubuntu:~/tmp]$ git clone

[charlee@ubuntu:~/tmp]$ cd project

[charlee@ubuntu:~/tmp/project]$ git-stitch-repo ../projecta:projecta ../proejctb:projectb | git fast-import

[charlee@ubuntu:~/tmp/project]$ git checkout master-a

[charlee@ubuntu:~/tmp/project]$ git checkout master-b

[charlee@ubuntu:~/tmp/project]$ git checkout master

[charlee@ubuntu:~/tmp/project]$ git branch -d master-a master-b

然後扔到github上:

$ git push -u origin master
大功告成。

git使用(命令) 轉

git 操作 遠端倉庫 即儲存我們 的伺服器 本地倉庫 連線本地 跟遠端 的樞紐,不能聯網時本地 可先提交至該處 快取區 提交 解決衝突的中轉站 工作區間 我們建立的工程檔案 一 常用命令 1.轉殖 git clone url 2.建立遠端dev分支到本地dev git checkout b dev...

git 放棄本地修改 轉

如果在修改時發現修改錯誤,而要放棄本地修改時,一,未使用 git add 快取 時。可以使用 git checkout filepathname 比如 git checkout readme.md 不要忘記中間的 不寫就成了檢出分支了!放棄所有的檔案修改可以使用 git checkout 命令。此命...

GIT與SVN的區別以及SVN轉GIT

公司部分專案開始使用的svn,需要通過svn轉成git,通過查詢可以用git的svn命令,不過在培訓時候找到一些svn與git的區別 分布式檔案系統,每個人都有完整的 分支對svn來說是完整目錄,建立分支需要重新配置,git建立分支相當簡單 git可以離線檢視log日誌 svn提交實際提交到 倉庫,...