天天看點

從googlecode向Github同步代碼

之前一直用googlecode的SVN做控制版本,沒想到最近google被牆的越來越頻繁,連googlecode也難逃一劫,雖然在這裡我不想發表反動言論,但是一個開源網站ZF都封,我就不知道目的何在,這就是所謂的鼓勵開源軟體産業的發展?!

下面來傳授下導入步驟:

<a href="http://tonyqus.blog.51cto.com/attachment/201301/24/2676222_1359063928GkJg.png"></a>

c. 輸入一個github名字,比如npoi, 注意,這裡導入的路徑不是你個人的github路徑,而是svn2git/&lt;name&gt;,這也是為何這個工具要求項目開源的原因,因為它就是要利用github的Fork功能。

d. 按Make a mirror按鈕(别多按,它是ajax實作的),接下來稍等片刻,大概幾十秒吧,你會看到last update提示,這表示導入成功了。

<a href="http://tonyqus.blog.51cto.com/attachment/201301/24/2676222_1359063929mo5Q.png"></a>

<a href="http://tonyqus.blog.51cto.com/attachment/201301/24/2676222_1359063929joXF.png"></a>

e. 然後我們隻要點Fork,就能把這個項目直接搬到你自己的github路徑下面了,如tonyqus/npoi。

到這裡,我們完成最基本操作——将你的項目從googlecode搬到github來。那麼萬一googlecode還有新的更新,能同步過來嗎?當然能,版本合并可是github的強項啊。

接下來,我們要借助Git-shell,指令如下

a. 定義upstream

git remote add upstream git://github.com/svn2github/npoi.git

b. 擷取upstream的最新版

git fetch upstream

c. 進入本地master路徑

git checkout master

如果是通過windows版github用戶端進入shell,此部可忽略,因為預設進入shell就會在master上,如圖所示

<a href="http://tonyqus.blog.51cto.com/attachment/201301/24/2676222_1359063930HH41.png"></a>

d. 将upstream的更改在目前branch上重放

git rebase upstream/master

d. 将改動同步到github

git push –f origin master

好了,到此你完成了從googlecode到github的更新。

本文轉自 瞿傑 51CTO部落格,原文連結:http://blog.51cto.com/tonyqus/1125973,如需轉載請自行聯系原作者