初识 GitHub · 简介篇
1 前言
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其托管版本数量非常之多,而且其中不乏知名开源项目,例如 Ruby on Rails、jQuery、python 等。
作为开源代码库以及版本控制系统,Github 拥有超过千万的开发者用户。随着越来越多的应用程序转移到了云上,Github 已经成为了管理软件开发以及发现已有代码的首选方法。
如前所述,作为一个分布式的版本控制系统,在 Git 中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
GitHub 可以托管各种 Git 库,并提供一个 web 界面,但与其它像 SourceForge 或 Google Code 这样的服务不同,GitHub 的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的Fork
的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的pull request
机制向项目负责人申请代码合并。
GitHub 项目本身自然而然的也在 GitHub 上进行托管,只不过在一个私有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并非如此。在 GitHub,用户可以通过Explore
轻而易举地找到海量的开源代码。因此,称之为程序员的“ 圣地 ”也不过吧?
2 业界大神
在 GitHub 上建立个人主页的业界大神多如牛毛,在此仅介绍 3 位,以供大家膜拜!
2.1 Linus Torvalds
- GitHub 主页:https://github.com/torvalds
Linus Torvalds,全球著名的电脑程序员、黑客,Linux 之父。
2.2 John Resig
- Github主页: https://github.com/jeresig
John Resig,jQuery 的创始人和技术领袖,著有《Pro JavaScript Techniques》(即《精通JavaScript》)等经典 JavaScript 书籍。
2.3 Douglas Crockford
- Github主页: https://github.com/douglascrockford
Douglas Crockford 是 JavaScript 开发社区最知名的权威,是 JSON、JSLint、JSMin 和 ADSafe 之父,是《JavaScript: The Good Parts》的作者。
3 开源项目及公司
在 GitHub 上开源的著名项目非常之多,选择在 GitHub 上开源的世界顶级公司也很多,在此也各罗列 3 个,以供大家膜拜!
3.1 项目
- Linux:https://github.com/torvalds/linux
- Swift:https://github.com/apple/swift
- Ruby:https://github.com/ruby/ruby
3.2 公司
- Google: https://github.com/google
- Microsoft:https://github.com/microsoft
- Alibaba:https://github.com/alibaba
4 篇尾语
通过上面的介绍,相信大家已经对 GitHub 有了初步的了解啦!窥一斑而知全豹,GitHub 的魅力可想而知。作为程序员大军中的一员,你是想泯然于众人?还是想与大神们“零距离”接触、碰撞出思维的火花?GitHub,也许就是你人生中至关重要的转折点。
咳咳,好吧,我承认,上面说的太玄乎了,现在说点实在的。在中国(全球更是如此),顶级的互联网公司,如 BAT,都很看重 GitHub ,如何你能够在 GitHub 上面表现的非常活跃,或者自己开源几个项目(并不要求这些项目多么伟大),甚至对一些著名的开源项目贡献了自己的代码,相信这一切,都会为你加分不少,从而脱颖而出。此外,GitHub 也是一个很好的学习场所,那么多的开源项目,称之为一座“知识的宝库”也不为过。因此,无论是从求职还是个人发展来说,选择 GitHub 并不会错。
最后,附上博主的 GitHub 账号,欢迎大家
Follow
:维C果糖
- NYOJ-------三角形
- HDUOJ-------(1022)Train Problem I
- NYOJ-----素数环
- HDUOJ-----(1329)Calling Extraterrestrial Intelligence Again
- 修改WordPress默认评论表情(附:跳转到多说评论框的方法)
- HDUOJ--------(1312)Red and Black
- HDUOJ---------(1045)Fire Net
- HDUOJ----(1175)连连看
- HDUOJ-----(1072)Nightmare(bfs)
- deque容器的运用一点一点积累
- HDUOJ----(1016)Prime Ring Problem
- WordPress获取文章浏览总数
- HDUOJ----Safecracker(1015)
- hduoj---Tempter of the Bone
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 明了 | MongoDB 外键的基本使用
- 优雅 | koa处理异常
- iOS开发之Context Menus
- 快速解释如何使用pandas的inplace参数
- bam格式转bigWig
- 46. Vue路由传参的基本使用
- H3C在端口同时配置MAC地址认证和802.1x
- proxmox notes
- Unix每分钟监控进程的状态
- webpack实战——资源输入与输出
- R语言读取 xlsx 和xls 文件
- pytest文档42-fixture参数化params
- 搭建node服务(三):使用TypeScript
- Antd for Vue使用Form组件报错You cannot set a form field before rendering
- IDEA配置Resin