zoukankan      html  css  js  c++  java
  • 使用github管理你的代码

    关于为什么使用github,网上已经有很多讨论了。当然选择还有google code, Bitbucket,sourceforge。github有如下优势:

    1. github更有利于开源项目的发展
    source forge并没有充分体现这一点,它更像一个开源软件下载站。至于Google Code,这是个传奇。但是已经被新CEO布林颁布的大扫除政策打死了,属于边缘化业务,Google不会投入新精力了,只是碍于原本有很多项目依旧运行在Google Code上,所以才没有像Google Reader一样彻底关闭。但是基本上活跃用户都迁走了。

    在github上使用开源项目的流程是:
    a. 下载,可以直接下载或者git clone下来,可以下载当前版本也可以下载某个分支,或者某个tag,甚至是某个commit
    b. 使用(这个跟sf差不多了)
    c. 修改,直接fork一个就可以改了,改完可以给作者发个pull request,这样才能让开源项目不断的完善起来
    github 让这一切都变得简单,直接;不像很久以前的开源界,想要贡献点代码,你还得先进mail list,先帮着解答,时机成熟了再让你改点bug

    2. github更方便沟通
    任何人可以给项目创建issue, 写上特性需求或者报告bug,作者或项目成员会很快做出回应
    在 sf上,作者和项目成员都不知道在哪,只有在版本发布的时候会在上面更新一下

    3. github引入了社交元素
    github 上的用户是可以follow别人的,也可以watch某个项目
    这很重要,可以每天都多了解一点点,每天多进步一点点
    唯一不足的地方就是没有像twitter那样,有人follow会发一封email通知下,让你看看是不是要回fo

    4. github更开放
    github提供众多的api,可以跟多数管理服务整合
    网站上有大量的帮助文档,从 git的入门到github的使用都有,非常详细、图文并茂
    官方博客经常发布一些技术文章,内容涉及故障处理过程,性能优化,各种技术解决方案的选择思路
    此外,可以为项目创建静态网站,并且没有任何的限制,无广告
    这个功能被很多人用于托管博客,我的博客就是建在这上面,免费

    5. github还在快速发展
    从最初github发展时只具备基本的源代码托管功能,到速度的提升(迁至rackspace使国内用户访问飞快),到gist的推出,到wiki的版本化,到pull request的出现。
    因为还有一大群不明真相的群众扎根在sf,还不知道github或者还不了解 github有多优秀他们会觉得sourceforge已经非常好了,足够使用,直到有一天,他们真正被github的魅力所吸引所以,我们在很长的一段时间内都会看到,知名项目一个接一个地慢慢往github上移最终,sf的创始人会说:妈的,老子也移过去算了。以上内容转自http://www.cnblogs.com/draem0507/articles/2151162.html。知乎上也有很精彩的讨论:GitHub、Bitbucket、Google Code 各有哪些优缺点?

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    如何使用github?

    首先去github.com注册账号。windows的客户端我用的是官方的:http://windows.github.com/。当然据说msysgit+TortoiseGit也不错。官方有个15分钟的training不错:http://try.github.com/。Refer to http://training.github.com/ for more trainings.

    关于配置,因为git默认采用的https协议,每次的pull(get from git server)/push(upload the local copies to git server)都需要输入密码,因此可以使用ssh key的方式去认证。方法如下:打开Git Shell在其中输入如下命令:ssh-genkey -t rsa -C "email@address"。之后会让你选择是否对存放SSH Key的文件夹进行加密,选择默认值就可以了。在用户的目录下的有新生成的.ssh 文件夹,复制 id_rsa.pub文件内容,设置到github账户中:登陆你的GitHub账户,依次点击Account Settings >SSH Public Keys > Add another public key,把id_rsa.pub中的内容拷贝进去 。使用ssh -T git@github.com可以验证设置是否正确:


    接下来要使用git shell 设置账号信息:

    首先,git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:

    git config --global user.name  'anzhsoft'
    git config --global user.email  anzhsoft@gmail.com

    接下来可以将本地的project上传到githcd Project_pathgit init ##在当前目录下生成一个隐藏目录(.git),这个目录就是git用来管理软件版本的仓库。

    cd project_path
    ## 1 initialize the project 
    git init
    ##it will generate the dir .git under the project_path, which is used to manage the current repository
    ## 2 connect the remote git server
    git remote add origin git@github.com:anzhsoft/repository.git
    ## 3 add the items
    git add .
    ## 4 commit
    git commit -m "initial commit"
    ## 5 push to server
    git push -u origin master

    常见错误可以见 http://blog.csdn.net/dengjianqiang2011/article/details/9260435

    如果你在create repository时添加了readme,license等文件,那么##5会出现一些错误:

    To git@github.com:anzhsoft/Readings.git  
     ! [rejected]        master -> master (fetch first)  
    error: failed to push some refs to 'git@github.com:anzhsoft/Readings.git'  
    hint: Updates were rejected because the remote contains work that you do  
    hint: not have locally. This is usually caused by another repository pushin  
    hint: to the same ref. You may want to first merge the remote changes (e.g.  
    hint: 'git pull') before pushing again.  
    hint: See the 'Note about fast-forwards' in 'git push --help' for details. 
    直接force这个push就可以了:

    git push -f origin master

    最后广告贴: welcome to https://github.com/anzhsoft

  • 相关阅读:
    POJ-1088 滑雪 (包含部分自用测试数据)
    PHP-从零开始使用Solr搜索引擎服务(下)
    PHP-从零开始使用Solr搜索引擎服务(上)
    15位身份证号转化为18位身份证号
    php的数组转为对象
    H5页面遮罩弹框下层还能滚动的问题
    纯css实现长宽等比例的div
    VUE开发一个图片轮播的组件
    jQuery map和each用法
    表格式布局让每个列高度等于该行最大高度
  • 原文地址:https://www.cnblogs.com/anzhsoft/p/3602977.html
Copyright © 2011-2022 走看看