github的使用_动力节点Java学院整理

Github

成立于2008年 。基于Git,提供协作式代码版本控制服务。
总部在旧金山。

Git是一种良好的、支持分支管理的代码管理方式,能很好地解决团队之间协作的问题。每个工程师在自己本地分支上开发,完成功能之后再将所有人的代码合并。

吉祥物

名称:Octocat。

起源

最早从Rails开发社区兴起,Github本身也是用RoR框架写的。
早期的Rails多人协作开发团队,在代码提交和协作时遇到了很多的麻烦。为了解决团队之间开发协作困难的这一个问题,创始人Scott和其他3个程序员朋友,决定完善一个基于Git的代码分支管理工具,用来帮助Rails项目本身的开发。
这个项目做完之后,很多程序员发现,这个工具不但很好用,而且有着非常友好的用户界面,容易上手和操作。于是Scott等几个人干脆建立了一个网站,名叫"Github"来专门提供类似的服务。

创始人:5人骨干小组。

Scott Chacon:GithubGit布道师,Pro Git作者等。此外,还经常参加各种会议和活动,包括在全球范围内为企业提供Git培训。
Tekkub:客户关系。
Melissa Severini:行政。
Kyle Neath:设计。
Ryan Tomayko:开发。

公司经历

2011.10.26:Github开源Camfire机器人Hubot。
2012.2.28:YC孵化项目Coderwall聚合你在Github等网站上的项目,打造属于Geek的"技术名片"。
2012.5.22:获得Andreessen Horowitz投资,1亿美金投资,估值达8亿。
2012.10.6:推出单独教学页面,通过网络及面对面实体模式教授协同编程。
2013.2.1:创投界奥斯卡 "Crunchies 2012"最佳创业公司称号。
2013.2.16:发布Boxen套件,帮助你一键备份和部署新电脑。
2014.1.10:收购基于Web的页面设计工具Easel。

客户

KPI:注册用户突破400万,托管项目超过800万个。
商业模式:Freemium模式。免费用户能够进行项目代码托管,但是只能使用公共仓库。付费用户能够在Github上托管私人的库。

Github基本功能

Repository

分为公共仓库和私人仓库。仓库包含了所有的:版本、分支、标记信息。

Explore

发现、查看、研究Github上公共仓库中托管的代码项目。

Gist

有版本控制的代码粘贴服务,由此可以方便地共享文本或代码。
Blog

个人博客,只要向Github提交Commit就能发布新文章。

Watch

将感兴趣的仓库加入关注列表,如果所关注的仓库有更新会动态的进行邮件通知。

Star

一种更新的方式管理你所感兴趣的仓库的记录,任何之前预览过的仓库都能在其页面中找到。

Fork

最重要的功能之一,克隆别人仓库的代码到自己的项目中。可以作为子模块的形式使用,或二次开发。

Github项目前10名(根据Star数)

bootstrap:The most popular front-end framework for developing responsive, mobile first projects on the web,66640
jquery:JavaScript Library,30328
node:evented I/O for v8 javascript,28908
html5-boilerplate:A professional front-end template for building fast, robust, and adaptable web apps or sites,24871
d3:A JavaScript visualization library for HTML and SVG,24483
angular.js:http://angularjs.org,22589
Font-Awesome :The iconic font designed for Bootstrap,22060
rails:Ruby on Rails,21436
impress.js:It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com,19852
backbone:Give your JS App some Backbone with Models, Views, Collections, and Events,17611
homebrew:The missing package manager for OS X,16755

我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。

在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与,就要提交代码,而给每个想提交代码的群众都开一个账号那是不现实的,因此,群众也仅限于报个bug,即使能改掉bug,也只能把diff文件用邮件发过去,很不方便。

但是在GitHub上,利用Git极其强大的克隆和分支功能,广大人民群众真正可以第一次自由参与各种开源项目了。

如何参与一个开源项目呢?比如人气极高的bootstrap项目,这是一个非常强大的CSS框架,你可以访问它的项目主页https://github.com/twbs/bootstrap,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone:

git clone git@github.com:michaelliao/bootstrap.git

一定要从自己的账号下clone仓库,这样你才能推送修改。如果从bootstrap的作者的仓库地址git@github.com:twbs/bootstrap.git克隆,因为没有权限,你将不能推送修改。

Bootstrap的官方仓库twbs/bootstrap、你在GitHub上克隆的仓库my/bootstrap,以及你自己克隆到本地电脑的仓库,他们的关系就像下图显示的那样:

如果你想修复bootstrap的一个bug,或者新增一个功能,立刻就可以开始干活,干完后,往自己的仓库推送。
如果你希望bootstrap的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,对方是否接受你的pull request就不一定了。

小结

在GitHub上,可以任意Fork开源仓库;
自己拥有Fork后的仓库的读写权限;
可以推送pull request给官方仓库来贡献代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • git远程仓库_动力节点Java学院整理

    如果你已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方. 没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别.为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三):远程仓库. Git是分布式版本控制系统,同一个Git仓

  • git冲突解决_动力节点Java学院整理

    人生不如意之事十之八九,合并分支往往也不是一帆风顺的. 准备新的feature1分支,继续我们的新分支开发: $ git checkout -b feature1 Switched to a new branch 'feature1' 修改readme.txt最后一行,改为: Creating a new branch is quick AND simple. 在feature1分支上提交: $ git add readme.txt $ git commit -m "AND simple&quo

  • git自定义_动力节点Java学院整理

    Git有很多可以配置的地方. 比如,让Git显示颜色,会让命令输出看起来更醒目: $ git config --global color.ui true 这样,Git会适当地显示不同的颜色,比如git status命令: 文件名就会标上颜色. 我们在后面还会介绍如何更好地配置Git,以便让你的工作更高效. 搭建git服务器 GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作

  • git简介_动力节点Java学院整理

    Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制系统? 如果你用Microsoft Word写过长篇大论,那你一定有这样的经历: 想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件"另存为--"一个新的Word文件,再接着改,改到一定程度,再"另存为--"一个新文件,这样一直改下去,最后你的Word文档变成了这样: 过了一周,你想找回被删除的文字,但是已经记

  • git分支管理_动力节点Java学院整理

    分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你

  • git多人协作_动力节点Java学院整理

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: $ git remote origin 或者,用git remote -v显示更详细的信息: $ git remote -v origin git@github.com:michaelliao/learngit.git (fetch) origin git@github.com:michaelliao/learn

  • git工作区和暂存区_动力节点Java学院整理

    Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD. 分支和H

  • git修改和删除功能_动力节点Java学院整理

    为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: $ cat readme.txt Git is a distributed version control syste

  • git标签管理_动力节点Java学院整理

    发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照. Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的. Git有commit,为什么还要引入tag? "请把上周一的那个版本打包发布,commit号是6a5819e..." &qu

  • git忽略特殊文件_动力节点Java学院整理

    有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定不爽. 好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了.所有配

随机推荐