之前一直用googlecode的SVN做控制版本,沒想到最近google被牆的越來越頻繁,連googlecode也難逃一劫,雖然在這裡我不想發表反動言論,但是一個開源網站ZF都封,我就不知道目的何在,這就是所謂的鼓勵開源軟體産業的發展?!
下面來傳授下導入步驟:
<a href="http://tonyqus.blog.51cto.com/attachment/201301/24/2676222_1359063928GkJg.png"></a>
c. 輸入一個github名字,比如npoi, 注意,這裡導入的路徑不是你個人的github路徑,而是svn2git/<name>,這也是為何這個工具要求項目開源的原因,因為它就是要利用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,如需轉載請自行聯系原作者