Github与Git的关系

Git是一款开源、免费的分布式版本控制系统,它是著名的Linux发明者Linus Torvalds开发的。所谓版本控制系统,就是进行不同版本的维护控制系统。
Github主要提供基于git的版本托管服务,也就是说现在Github上托管的所有项目代码都是基于Git来进行版本控制的,所以Git只是Github上用来管理项目的一个工具而已。

GitHub 的影响力

上面说了 GitHub 现在毫无疑问基本是全球最大的开源社区了,这样说你们可能认为未免有点浮夸,且听我一一举证:

全球顶级科技公司纷纷加入 GitHub ,并贡献他们自己的项目代码
Google: https://github.com/google
苹果: https://github.com/apple
Facebook: https://github.com/facebook
Twitter:https://github.com/twitter
微软:https://github.com/microsoft
Square:https://github.com/square
阿里:https://github.com/alibaba

全球顶级开源项目都优先选择在 GitHub 上开源
Linux:https://github.com/torvalds/linux
Rails:https://github.com/rails/rails
Nodejs:https://github.com/nodejs/node
Swift:https://github.com/apple/swift
CoffeeScript:https://github.com/jashkenas/coffeescript
Ruby:https://github.com/ruby/ruby

全球顶级编程大牛加入GitHub
Linux 发明者 Linus Torvalds:https://github.com/torvalds

Rails 创始人 DHH:https://github.com/dhh

被称为「Android之神」的 JakeWharton:https://github.com/JakeWharton , 你们用的很多开源库如 ButterKnife、OkHttp、 Retrofit、 Picasso、ViewPagerIndicator 等都是出自他之手!

其他就不一一列举了,GitHub 上活跃的很多是 Google 、Square、阿里等公司的员工,有些甚至还是Google Android Team组的,所以在这里你可以接触到全球顶级编程大牛!

Github 基本概念

Repository

仓库的意思就是你的项目,你想在Github上开源一个项目,那就必须新建一个Repository。如果开源项目多了,那么就拥有了多个Repositories。

Issue

问题的意思就是你开源了一个项目之后,别人发现你的项目中有bug,或者哪些地方做的不够好,他就可以给你提出Issue,然后你看到了这些问题就可以去逐个修复,修复完成之后就可以一个个地关闭掉了。

star

这就是给别人的项目进行点赞。

Fork

如果你开源了一个项目,别人想在你这个项目的基础上进行改进,然后应用到自己的项目中,这个时候他就可以fork你的项目,这个时候他的Github主页上就多了一个项目,只不过这个项目是基于你的项目基础(本质上是在原有项目的基础上新建了一个分支),他就可以随心所欲的去进行改进,但是完全不会影响原有项目的代码和结构。

Pull Request

发起请求,这个实际上是基于Fork的,还是上面那个例子,如果别人在你的基础上做了改进,后来觉得改进得很不错,应该要把这些改进让更多的人受益,于是就想把自己的改进合并到原有项目里,这个时候他就可以发起一个Pull Request,原有项目创建人就可以收到这个请求,这个时候他会仔细审阅你的代码,如果确实很好,那么他就会接受你的PR,这个时候你做的改进原有项目就会拥有了。

watch

如果你watch了某个项目,那么以后只要这个项目有任何更新,你都会第一时间收到关于这个项目的通知提醒。

Gist

有些时候你没有项目可以进行开源,只是单纯想分享一些代码片段,那这个时候Gist就派上用场了。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐