• 从googlecode向Github迁移代码


    从googlecode向Github迁移代码

     

    作者:Tony Qu

    之前一直用googlecode的SVN做控制版本,没想到最近google被屏蔽的越来越频繁,连googlecode也难逃一劫,虽然在这里我不想发表反动言论,但是一个开源网站ZF都封,我就不知道目的何在,这就是所谓的鼓励开源软件产业的发展?!

    既然改变不了被封的事实,我只能考虑搬家,最近发觉github很火,决定尝试把代码搬过去,一开始我已经在考虑放弃之前SVN的修改记录,没想到github尽然支持直接从SVN导入所有代码及提交记录,这真的要感谢svn2git的作者,但有一个条件,要导入的SVN必须用于开源项目,毕竟github免费版也只支持开源项目(闭源项目的托管是收费的)。

    下面来传授下导入步骤:

    a. 进入http://svn2github.com/

    image

    b. 输入你要导入的svn网址,比如https://npoi.googlecode.com/svn/trunk

    c. 输入一个github名字,比如npoi, 注意,这里导入的路径不是你个人的github路径,而是svn2git/<name>,这也是为何这个工具要求项目开源的原因,因为它就是要利用github的Fork功能。

    d. 按Make a mirror按钮(别多按,它是ajax实现的),接下来稍等片刻,大概几十秒吧,你会看到last update提示,这表示导入成功了。

    image

    这时你就可以去svn2github/npoi看导入的代码了,为了让大家有更直观的感受,我直接截了Network选项卡的图给大家,看到吗?所有的以前googlecode的提交都在,这样就不怕丢失代码修改记录了。

    image

    e. 然后我们只要点Fork,就能把这个项目直接搬到你自己的github路径下面了,如tonyqus/npoi。

    到这里,我们完成最基本操作——将你的项目从googlecode搬到github来。那么万一googlecode还有新的更新,能同步过来吗?当然能,版本合并可是github的强项啊。

    首先,还是进入http://svn2github.com/, 和之前的操作全部一样,当你按Make a mirror按钮之后,如果成功了,你会发现Last update会有变化。为确保同步是成功的,你可以去Network选项卡看看是否有新的commit进来。

    接下来,我们要借助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上,如图所示

    image

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

    git rebase upstream/master

    e. 将改动同步到github

    git push –f origin master

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

    参考:https://github.com/rilwis/meta-box/wiki/X.01.-Keep-your-Forks-in-sync


    版权声明:本文由作者Tony Qu原创, 未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
     
    分类: 其他
  • 相关阅读:
    深入理解系统调用
    基于mykernel 2.0编写一个操作系统内核
    交互式多媒体图书平台的设计与实现
    Ubuntu下VSCode调试环境搭建指南-C语言篇
    码农的自我修养之必备技能 学习笔记
    工程化编程实战callback接口学习笔记
    CentOS7.4网络配置
    R-CNN
    CUDA整理
    CUDA by Example 第四章 julia集
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2845710.html
Copyright © 2020-2023  润新知