在IT界,或者说所有涉及到软件编程的工作岗位的人 , 估计都知道GitHub的大名 。这是程序员世界的一个神器 。其主要作用就是对软件代码进行版本管理 。
百度百科给出的定义是,GitHub 是一个面向开源及私有软件项目的托管平台 , 因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub 。简单说,GitHub就是一个源代码版本管理工具 。
实际上,现在很多公司的代码都托管于GitHub,优势就是可以在任何有互联网络的地方开展工作 。目前,GitHub官网被称之为全球最大的社交编程及代码托管网站 。
GitHub 于 2008 年 4 月 10 日正式上线,由汤姆·普雷斯顿-维尔纳(Tom Preston-Werner)、克里斯·万斯特拉斯(Chris Wanstrath)等联合创始 。2018年6月,微软宣布通过75亿美元的股票交易收购GitHub,目前微软作为最大股东行使管理及运营的权利 。
Git 是一个分布式的版本控制系统 , 最初由 Linus Torvalds 编写,主要用作 Linux 内核代码的管理 。在推出后,Git 在其它项目中也取得了很大成功,很快便被推广到了其他项目中 。
除了 Git 代码仓库托管及基本的 Web 管理界面以外,GitHub 还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能 。目前,其注册用户已经超过 350 万 , 托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、Python 等 。
GitHub 可以托管各种 git 库,其独特卖点在于从另外一个项目进行分支的简易性 。为一个项目贡献代码非常简单:首先点击项目站点的 “fork” 按钮 , 然后将代码检出并将修改加入到刚才分出的代码库中 , 最后通过内建的 “pull request” 机制向项目负责人申请代码合并 。
GitHub项目本身自然而然的也在GitHub上进行托管,只不过是在一个私有的,公共视图不可见的库中 。开源项目一般可以免费托管,但私有库则并不如此 。GitHub采取的是通过付费的私有库,在财务上支持免费库的托管的运营策略 。
GitHub 项目自身主要是用Rails实现的 。在进行的post-commit集成小应用则完全使用Merb编写,而使用了Python的Pygments来做格式高亮显示,另外,还用了Ara T. Howard’s Bj加上一些Ruby脚本来完成排队系统 。另外,在交互方面,则使用了Ruby Grit库来和Git进行交互 。
GitHub 最初是用于Linux内核代码的管理,所以在Windows平台来说,其交互不是那么友好 。虽然目前跨平台管理可以使用Web界面,但在操作系统本身去进行代码的管理也是必要的 。
GetHub为此专门开发提供了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端 。实际上,微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本 。
GitHub的横空出世,让程序员群体迅速抛弃了传统的代码管理工具,比如SVN、TFS等等,也催生了一批新的代码版本管理工具,比如国外的SourceForge、Google Code或国内的Coding、OSChina、Gitee等服务 。目前来看,GitHub绝对是这个领域内一骑绝尘的存在 。
【github是怎样的一个存在】
2008年 , GitHub正式启动 。成为第一个加入GitHub的大型开源项目 。
2009年 , Node.js在GitHub上正式发布 。当年被创造的比特币在次年迁移到GitHub 。
Rails Girls在赫尔辛基初次举办活动 。
Travis CI的第一次合并请求
Javascript成为GitHub上最受欢迎的语言 。
GitHub社区迎来了第3,000,000位用户 。
Docker1.0在GitHub上正式发布,迎来首届Django Girls,微软开源了他的.NET 。
虚幻4引擎免费提供源代码,苹果开源Swift 。
阿波罗11号升空 。
Python团队将代码托管到GitHub , Google正式发布Tensorflow,GitHub迎来了第1亿次代码合并 。
我们编码,合作,提交,已经十年 。