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

  • 相关阅读:
    spring cloud 和 阿里微服务spring cloud Alibaba
    为WPF中的ContentControl设置背景色
    java RSA 解密
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
    Hystrix 配置参数全解析
    spring cloud 2020 gateway 报错503
    Spring Boot 配置 Quartz 定时任务
    Mybatis 整合 ehcache缓存
    Springboot 整合阿里数据库连接池 druid
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
  • 原文地址:https://www.cnblogs.com/anzhsoft/p/3602977.html
Copyright © 2011-2022 走看看