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

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

將代碼轉移到GIT@OSC

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

GIT倉庫

首先咱們須要在GIT@OSC上建立一個空項目。使用git的–bare參數獲取一個裸倉庫,而後經過git push --mirror命令將代碼推送到GIT@OSC。svn

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或者msys2spa

  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的項目。.net

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上。code

在網頁上同步

在git.oschina.net上,用戶若是已經登錄,能夠建立項目,右上角有個「+」,點擊後可使用從github導入,出現以下圖的表格,點擊但願導入的項目便可,這裏須要說明的是,只有用戶參與的項目纔會顯示。 
import githuborm

點擊導入項目以後就是漫長的等待了,畢竟衆所周知的緣由,這個過程不會很快,固然仍是建議用戶將代碼早日遷移到GIT@OSC上來。 
run-processip

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

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

Update

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

相關文章
相關標籤/搜索