Github使得社会化编程成为现实
GitHub主要提供基于git的版本托管服务
最流行的开源托管服务。目前已托管431万git项目,不仅越来越多知名开源项目迁入GitHub,比如Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的开源库往往在GitHub首发,例如:BootStrap、Node.js、CoffeScript等
最受欢迎项目:https://github.com/popular/starred
学习Github的最大特色的服务: Pull Request, 这样可以协作编程,对开源项目贡献代码
Repository : 简称为repo,库,是GitHub管理的基本单位。新建项目时,我们都是新建一个repo。
Fork : 如果接触过与进程相关的知识,就应该很熟悉这个跟叉子扯不清关系的操作了,fork可以“复制”出一个与父进程一模一样的子进程,同样,在GitHub中,当你fork了别人的repo时,GitHub会把别人repo的内容完完整整“复制”一份给你,而且你就是那个新生成的repo的主人。(会保留一个fork与被fork的关系)
Pull Request : 这是GitHub的“Fork-Pull模式”的另一个基础操作,Pull Request的作用是,当你fork了别人的repo,之后你进行了一定的修改,想要把修改贡献给被fork的原作者时,你可以发起一个Pull Request,此时GitHub会把你的修改发送给原作者,原作者审查觉得可以后,他会把你的修改merge到自己的代码上,这样你就对他的代码做了贡献。
Clone : 就是克隆,即把别人的git库直接完整地下载到本地,此时这个库的master还是原作者,所以你没有权限提交自己的修改,但如果你git clone的是自己的库,那就没什么问题了。Fork就相当于clone下来后再把master改成自己。需要提到的一点是,git库跟源代码是两个概念,源代码包含在git库中,但同时,git库还需要保存你的版本信息、提供git相关操作的支持等等,显而易见的一点是,git库多一个.git的隐藏文件。
常规git操作可参考:
http://rogerdudler.github.io/git-guide/index.zh.html
Windows下使用Github:
http://blog.sina.com.cn/s/blog_67a3453d0101j8qr.html
参考:
http://3g.eefocus.com/noalac/blog/13-05/294019_811a7.html
http://www.yangzhiping.com/tech/github.html