將項目同時託管到Github和Git@OSC

摘要: Github是最大的git代碼託管平臺,​GIT@OSC是國內最大的git代碼託管平臺,支持免費私有庫,支持SVN操作,用戶衆多。很多用戶需要同時將代碼託管到兩個平臺,這篇文章的主要內容就是介紹如何將代碼放到兩個平臺上並同步代碼。

GIT@OSC是國內最大的git代碼託管平臺,支持免費私有庫,支持SVN操作,用戶衆多。 很多開發者希望在不同的代碼託管平臺都有託管一份,這個對於git來說並不是一件麻煩的事情,而GIT@OSC也支持從Github導入項目。

將代碼轉移到GIT@OSC

這裏不限於Github,也可以是Sourceforge以及bitbucket,code.taobao.org,任何基於git或者是subversion的都可以

GIT倉庫

首先我們需要在GIT@OSC上創建一個空項目。使用git的–bare參數獲取一個裸倉庫,然後通過git push --mirror命令將代碼推送到GIT@OSC。

git clone --bare https://github.com/forcegroup/iBurnMgr.git ibg.git
cd ibg.git
git push --mirror https://git.oschina.net/ipvb/iBurnMgr.git

Subversion倉庫

 git svn clone http://myhost/repo -T trunk -b branches -t tags 
 #將svn倉庫轉爲git倉庫
 git remote add oscgit https://git.oschina.net/user/repo #添加remote,這個需要在頁面上建立
 git push -u oscgit --all
 #推送到GIT@OSC

Hg倉庫

hg倉庫並沒官方的轉換支持,Github上有個hg-git: http://hg-git.github.com/ 可以使用hg來管理git倉庫,一般的將hg倉庫轉換爲git倉庫的是 Fast-export 需要安裝hg,在Windows上推薦使用cygwin或者msys2

  mkdir repo-git # or whatever
  cd repo-git
  git init
  hg-fast-export.sh -r <repo>

給本地倉庫添加第二個遠程地址

用戶可能在本地已經有了一個倉庫,或者託管在Github或者託管在Bitbucket以及其他的代碼託管平臺,如果想在GIT@OSC上也放一份代碼,可以給倉庫添加一個遠程地址,使之能夠推送到GIT@OSC。 
第一,你先得在GIT@OSC上創建一個空倉庫,也就是創建項目的時候不要初始化。然後按照下面的命令就行了,比如我創建了一個helloworld的項目。

git remote -v 
#查看遠程地址
git remote add osc  https://git.oschina.net/ipvb/iBurnMgr.git
#添加新的遠程地址
git push -u osc --all#推送所有的本地分支git push osc --tags#推送所有的標籤

每一次修改後,你都可以使用push命令將最新的修改提交到GIT@OSC上。

在網頁上同步

在git.oschina.net上,用戶如果已經登陸,可以創建項目,右上角有個“+”,點擊後可以使用從github導入,出現如下圖的表格,點擊希望導入的項目即可,這裏需要說明的是,只有用戶參與的項目纔會顯示。 
import github

點擊導入項目之後就是漫長的等待了,畢竟衆所周知的原因,這個過程不會很快,當然還是建議用戶將代碼早日遷移到GIT@OSC上來。 

我們的開發者爲用戶提供了強制更新的功能,如果用戶的項目是從Github導入的,在項目名右邊會有個Github logo,以及一個同步按鈕

ForceUpdate 
點擊後請仔細閱讀提示,因爲強制同步會覆蓋倉庫。


如果你不願意覆蓋倉庫,建議在本地將代碼拉下來,合併後再推送到GIT@OSC。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章