GitHub是什么东西?类似的还有什么?

梦想视角 2020-06-15 09:26:19

在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等服务。目前来看,GitHub绝对是这个领域内一骑绝尘的存在。

欢迎大家关注“梦想视角”!关注互联网、科技、手机、数码资讯!
3 阅读:3360
评论列表
  • 2020-06-15 19:07

    如果我们一味的使用国外的产品,而不使用国产软件,等到未来某一天,国内的消失,又会被卡脖子

  • 2020-06-15 21:50

    国内的用码云

  • 2020-06-15 19:08

    就像Matlab一样,悲哀

  • 2020-06-15 18:22

    又不能用。伊朗的前车之鉴在那里,谁用回头被美国强行没收,或国内指称泄露机密。

  • 2020-06-15 17:35

    码云

  • 2020-06-16 12:07

    国内gitee,coding都不错,速度比github快多了,而因为某些广为人知的原因,github不定时抽风。gitee的api跟github几乎一模一样,pages不能自定义域名,pages pro可以,但是...。coding的api不完善,只能说聊胜于无,但是coding page可以绑定自己的域名。

    万里独尊 回复:
    gitee也能用github的Desktop,傻瓜式的,体验完美
    梦想视角 回复:
    厉害,大牛啊
  • 2020-06-15 14:33

    还有gitlab,以及国内的也应该都另外说明下

梦想视角

简介:再小的个体都有梦想,每一个梦想都有不同!