前言:

很久没再次回顾这篇文章了,记得还是高中时,了解到Github,那时因为很多网上大佬推荐,所以对Github比较感兴趣,现在对Github应该更加熟悉了,但是还是有很多需要去学习,去练习和了解。希望以后能多一些贡献值和贡献表吧!代码,这个世界很神奇的数字,但却也是令人头痛的事物,只有热爱它,也许你才会追寻到底吧!

本篇文章,带你回顾以下,在2020以前的Github是怎样的,以及文章标题中所说“Why is Github?”

希望能让你对它,陌生的它,有那么一点点理解,不过现在上Github没以前那么方便了,不过还是有方法的,哈哈~

若需要方法上Github,推荐去看看我写的第一篇利用Hexo+Butterfly搭建博客教程,那里会有方法!

注意: 本文为网络汇总长文,如若没耐心看下去,请跳过此文章!!!

Github —目前全球最大的免费开源软件分享平台!

Github

Github是通过Git进行版本控制的软件源代码托管服务平台,于2008年4月10日正式上线。github除了Git代码仓库托管及基本的Web管理界面以外,它还提供了一些方便社会化共同软件开发的功能,即一般人口中的社群功能,包括允许用户追踪其他用户、组织、软件库的动态,对软件代码的改动和bug提出评论等。

中文名称

GitHub

外文名称

GitHub

开发者数量

超过5000万 (2019年统计数据)[1]

类别

开源代码库

官网

https://github.com/

1.作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

2.如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份 复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。

3.GitHub可以托管各种git库,并提供一个web界面,但与其它像SourceForge或 Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

Gi:thub

在GitHub进行分支就像在 Myspace(或 Facebook…)进行交友一样,在社会关系图的节点中不断的连线。

GitHub项目本身自然而然的也在GitHub上进行托管,只不过在一个私 有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。Chris Wanstrath,GitHub的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计划。

是的,我们正是这么计划的。通过与客户的接洽,开发FamSpam,甚至是开发GitHub本身,GitHub的私有库已经被证明了物有所值。任何希望节省时间并希望和团队其它成员一样远离页面频繁转换之苦的人士都会从GitHub中获得他们真正想要的价值。

在GitHub,用户可以十分轻易地找到海量的开源代码。

版本信息:

github

2012年12月24日,GitLab 4.0 RC2 发布, 开源的Github克隆。

发展历史:

2019年5月,GitHub公布最新运营业绩:平台在近200个国家,GitHub拥有3600万用户,其中1/4是在过去一年中新注册的。与2018年同期相比,代码仓库的数量增加了49%,而注册GitHub的组织同比增长了41%。[2]

2020年3月16日,微软子公司、全世界最大的代码存放平台和开源社区Github表示,已同意收购代码分发初创公司NPM。[3]

内幕信息:

Chris Wanstrath还向记者分享了关于GitHub的一些内幕信息︰

GitHub主要用Rails实现。我们在进行的post-commit集成小应用完全使用Merb编写。我们使用了Python的Pygments来做格式高亮显示,另外,还用了Ara T. Howard’s Bj加上一些Ruby 脚本来做我们的排队系统。当然,我们用了Ruby Grit库来和Git进行交互。

GitHub已经有了一组引人注目的特性,除了命令式的库 浏览器和一个项目Wiki,GitHub甚至还包括了一个GitHub gem,以使通过shell方式使用GitHub更为方便。更多的未来特性已经在计划中︰

许多人都希望能有一个条目系统,因此一个简单的条目系统已经在开发中。此外,正如我前面所言,我们尚在进行 RubyGems服务器和一些之前留出的post-commit钩子方面的 工作。如果你不能或就是不想托管一个你自己的 守护进程,你可以使用我们所提供的。

我们还在开发一些特性来帮助公司在使用Github时可以停留在sync之上。

最后,我们也在进行 API发布方面的 工作。我们很快就会发布一些只读性的API,随後是一些很强大的“写”集成。你可以使用API将新的事件发布到新闻feed中,发消息和做其他许多很酷的事情。

GitHub尚未设定官方版本的发布日期,不过估计在三月底(GitHub已经上线,但只能通过邀请注册)。更多关于GitHub的信息可以参见GitHub官方网站或GitHub博客。通过GitHub进行代码管理的开源项目列表也已经可以查阅。

系统支持

GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linux Torvalds 为帮助 Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。

github

GitHub for Windows 是一个 Metro 风格 应用程序, 集成了自包含版本的 Git,bash 命令行 shell,PowerShell的 posh-git 扩展。GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在 本地和 远程版本库之间同步。微软也通过 CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。

配置管理

GitHub上已自动配置的Mac笔记本电脑,一个工具,可以转换设置Linux或Windows机器。

github

BOXEN是GitHub的自动化工具,设置和配置的Mac笔记本电脑 软件开发或其他类型的工作,正在使用他们的开发人员,律师,设计师,付货人,等。我们的想法是准备系统以自动方式和作为无差错尽可能用最少的干预工作。根据GitHub上,与一个新的开发机器上,他的Mac系统成立,并准备在30分钟内提交代码。

BOXEN的基础上收集了大量的几十个木偶模块,使设置的各种软件,如卡桑德拉,MongoDB中,Java软件中,Python和Ruby开发中,节点,JS,nginx的,Skype公司,甚至MINECRAFT。虽然机器上配备了一个预配置,每个用户都可以调整它的配置应有的作用。

什么是Git?

Git是分布式版本控制软件。版本控制是一种随时间保存更改而不覆盖先前版本的方法。分发意味着每个使用Git存储库的开发人员都拥有整个存储库的副本-每个提交,每个分支,每个文件。如果您习惯使用集中式版本控制系统,那就有很大的不同!

无论您之前是否使用过版本控制,在开始使用Git之前,都应了解以下几点:

分支轻巧且便宜,因此可以有很多分支

Git将更改存储在SHA哈希中,这些哈希通过压缩文本文件来工作。这使得Git成为用于软件编程的非常好的版本控制系统(VCS),但对于图像或视频等二进制文件却不是那么好。

可以连接Git存储库,因此您可以在自己的计算机上本地工作,然后将其连接到共享存储库。这样,您可以将更改推送和拉到存储库,并轻松与他人协作。

为什么要使用Git?

版本控制非常重要-如果没有它,您可能会失去工作。使用Git,您可以根据需要进行“提交”或保存点。您还可以返回以前的提交。这样可以减轻您工作时的压力。经常提交并提早提交,您将永远不会有那种被覆写或丢失更改的直觉。

有很多版本控制系统-但是Git具有一些主要优点。

速度

就像我们上面提到的,Git使用SHA压缩,这使其非常快。

合并冲突

Git可以处理合并冲突,这意味着多个人可以同时处理同一个文件。这以集中版本控制无法实现的方式打开了开发世界。您可以访问整个项目,并且如果您在分支机构上工作,则可以执行所需的任何操作,并且知道更改是安全的。

便宜的分支机构

谈到分支机构,Git提供了很多灵活性和与分支机构进行协作的机会。通过使用分支,开发人员可以在安全的沙箱中进行更改。

开发人员不仅可以提交100%确保成功的代码,还可以提交可能仍需要帮助的代码。然后,他们可以将该代码推送到远程,并从集成测试或同行评审中获得快速反馈。

如果没有通过分支共享代码,这将永远不可能。

轻松回滚

如果您输入有误,就可以了!提交是不可变的,这意味着它们不能更改。(注意:您可以更改历史记录,但是它将创建新的替换提交,而不是编辑现有的提交。稍后将继续介绍!)这意味着,即使您犯了错误,即使在像master这样的重要分支上,也可以。您可以轻松地还原该更改,或者将分支指针回滚到一切正常的提交。

这样做的好处不能被夸大。它不仅为项目和代码创建了一个更安全的环境,而且还建立了一个开发环境,使开发人员可以更加勇敢地相信Git的支持。

如何使用Git

学习和掌握Git命令

如果您是Git的入门者,那么Git Cheat sheet是一个不错的起点。它被翻译成多种语言,作为github/training-kit存储库的一部分开放源代码,并且是命令行基础知识的一个很好的起点。

您会发现一些最重要和最常用的命令:

  • git clone [url]:克隆(下载)GitHub上已经存在的存储库,包括所有文件,分支和提交。

  • git status:始终是一个好主意,此命令向您显示您所在的分支,工作或暂存目录中的文件以及其他任何重要信息。

  • git branch:这显示了本地存储库中的现有分支。您还可以git branch [banch-name]用于从当前位置创建分支,或git branch --all查看所有分支,包括计算机上的本地分支以及从最后一个git pullgit fetch从远程存储的远程跟踪分支。

  • git checkout [branch-name]:切换到指定的分支并更新工作目录。

  • git add [file]:快照文件以准备版本控制,并将其添加到暂存区域。

  • git commit -m "descriptive message":在版本历史记录中永久记录文件快照。

  • git pull:用来自GitHub上相应远程分支的所有新提交更新您当前的本地工作分支。git pull是的组合git fetchgit merge

  • git push:将所有本地分支提交上载到远程。

  • git log:浏览并检查项目文件的演变。

  • git remote -v:显示相关的远程存储库及其存储的名称,例如origin

GitHub入门

如果您想知道Git在哪里结束以及GitHub在哪里开始,您并不孤单。他们紧密地联系在一起,使与他们的工作成为无缝的体验。虽然Git负责底层版本控制,但GitHub是在其之上构建的协作平台。GitHub是拉取请求,评论,评论,集成测试等的地方。大多数开发人员在本地工作以开发并使用GitHub进行协作。范围从使用GitHub托管共享的远程存储库,到与同事合作并利用受保护的分支,代码审查,GitHub Actions等功能。

练习使用Git和GitHub的最佳地点是GitHub学习实验室课程简介。

如果您已经知道Git并需要注册GitHub帐户,请转到github.com。

在GitHub上撰写本文。

Github发展历程:

2008年4月10日,GitHub正式上线。

2014年1月23日,联合创始人汤姆·普雷斯顿-维尔纳(Tom Preston-Werner)从另一位联合创始人克里斯·万斯特拉斯(Chris Wanstrath)手中接过总裁职位,后者也将接过普雷斯顿-维尔纳留下的CEO位置。

2018年6月4日晚,微软宣布,通过75亿美元的股票交易收购GitHub。 [2] 10月26日,微软以75亿美元收购GitHub交易已完成。10月29日,微软开发者服务副总裁奈特·弗里德曼(Nat Friedman)将成为GitHub的新一任CEO。 [3]

2020年3月17日,Github宣布收购npm,GitHub现在已经保证npm将永远免费。 [4]

好了,介绍了这么多,相信大多数小伙伴已经看不下去了,其实小编也整理的心累啊!其实小编的目的很简单,就是想大家知道,它的重要性,对于一个刚想入门的程序员来说,其实小编也是对Github也是怀有深深的感情的…….

文末:强行总结一下,作为一个初级的码农来说,其实并未理解****computer processer 的苦恼,前几天小编在一个代码交流平台中看到了这样一个视频,里面讲的就是作为一个程序员困惑和苦恼的事情!

​ ——见第三篇文章:《像极了写代码的你!》**
**

结尾:

恭喜你,到结尾了!**

好了,看到这里想必你已经知道了Github的一些有关信息,其实确实代码相当多,复杂,但是对于开源来讲,即是没有隐私,毫无保留的分享,而且是免费开源,这意味着你就可以,一键git clone 复制克隆,实用别人分享的代码,改进等。总之,长路漫漫,Github上承载着互联网许多革命性的项目,包括许多分支,全球最大的代码托管,相当于整个互联网服务的中介或者载体在Github上,就好比你的运作网络大脑寄托在那里。所以有时间还是多学习学习,还有很多需要学习。

最后—送上座右铭:

书山有路勤为径,学海无涯苦作舟!