diff --git "a/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\344\273\200\344\271\210\346\230\257\345\274\200\346\272\220.md" "b/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\344\273\200\344\271\210\346\230\257\345\274\200\346\272\220.md" index 4968ac16b6a591c273a500fd32c9c55a4b7db35c..046d8571fe745d018d61564606da1f2855f2673e 100644 --- "a/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\344\273\200\344\271\210\346\230\257\345\274\200\346\272\220.md" +++ "b/\347\254\254\344\270\200\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\344\273\200\344\271\210\346\230\257\345\274\200\346\272\220.md" @@ -53,8 +53,6 @@ #### Linux -GNU组件可以运行于Linux内核之上。整个内核是基于GPL许可的,但是Linux内核并不是GNU计划的一部分。 - 1991年,林纳斯·托瓦兹(Linus Torvalds)公开发布了一个类 UNIX 操作系统内核 —— Linux,并接受 CopyLeft 理念。从 Linux 0.12 版本起,Linux 内核开始采用 GPL 许可证的新版权声明。虽然 Linux 内核并不是 GNU 计划的一部分,但由于 HURD 内核进展缓慢,使得 Linux 得到广泛关注并得以快速发展。GNU 与 Linux 的发展,可以说是相辅相成,因此 Linux 也被称为 GNU/Linux。 正是 Linux 的出现,使得自由软件运动有了自己可以与 Microsoft 的 Windows 相抗衡的操作系统。自由软件运动初战告捷。但是,自由软件运动关于自由的追求,毕竟和现实的商业氛围格格不入,带有着过于理想化的色彩。这种反商业的信条,让一些本来也反对私有软件的人士对自由软件敬而远之。正是在这种背景下,一部分原有自由软件运动人士,开始尝试将理想的自由软件与现实的商业氛围进行某种衔接。 @@ -70,11 +68,11 @@ GNU组件可以运行于Linux内核之上。整个内核是基于GPL许可的, #### Git 和 GitHub -前面提到,开源软件是允许自由复制和重新分发的,那么分散的开发者之间是如何协作的呢?尤其是 Linux 这样依靠全世界热心的志愿者参与的项目。其实早年(1991-2002年间)世界各地的志愿者是通过 diff 的方式把源代码补丁发给 Linus,然后由 Linus 本人通过手工方式合并代码。直到 2002 年,Linux 项目组才开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。 +前面提到,开源软件是允许自由复制和重新分发的,那么分散的开发者之间是如何协作的呢?尤其是 Linux 这样依靠全世界热心的志愿者参与的项目。其实早年(1991-2002 年间)世界各地的志愿者是通过 diff 的方式把源代码补丁发给 Linus,然后由 Linus 本人通过手工方式合并代码。直到 2002 年,Linux 项目组才开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。 但好景不长,2005 年,开发 BitKeeper 的商业公司结束了与 Linux 内核开源社区的合作。于是 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)决定开发自己的版本控制系统 —— Git。很快,Linux 内核的源码已经由 Git 全面管理了。Git 是完全分布式的,同时拥有强大的存储能力,支持离线操作和非线性分支管理,容易制作工作流程,使其非常适合于管理大型开源项目。 -2008年,GitHub 网站上线了,它为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub。可以说,GitHub 的出现让开源的工作方式变得更简单和有趣了。如今,每天都有无数来自世界各地的开发者在 GitHub 上进行交流,Github 已经成为一个包含问题追踪和版本控制的特殊社交网络。 +2008 年,GitHub 网站上线了,它为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub。可以说,GitHub 的出现让开源的工作方式变得更简单和有趣了。如今,每天都有无数来自世界各地的开发者在 GitHub 上进行交流,Github 已经成为一个包含问题追踪和版本控制的特殊社交网络。 @@ -92,8 +90,8 @@ GNU组件可以运行于Linux内核之上。整个内核是基于GPL许可的, ### 开源、Git和代码托管平台 -Git 是一款分布式版本控制系统,Git 本身也是一个用 Git 管理的开源软件。使用 Git 可以让散布各地的开发者更加高效地协同工作,可以说,Git 的出现极大地推动了开源的发展。 +[Git](https://git-scm.com/) 是一款分布式版本控制系统,Git 本身也是一个用 Git 管理的开源软件。使用 Git 可以让散布各地的开发者更加高效地协同工作,可以说,Git 的出现极大地推动了开源的发展。 -初学者容易混淆 Git 和代码托管平台的概念。Git 是版本控制系统,开发者可以讲源代码存入名为“Git 仓库”的资料库中加以使用。而代码托管平台,比如 [GitHub](https://github.com/)、[GitLab](https://about.gitlab.com/)、[bitbucket](https://bitbucket.org/)、[Gitee](https://gitee.com/) 等,则是基于 Git 的代码托管平台,通过网络为用户提供 Git 仓库托管服务。在此基础之上,代码托管平台还提供了许多协作功能,将版本管理、Bug 跟踪、代码审查、邮件列表、IRC 等众多功能组合在一起,以实现更高效的协同开发。 +初学者容易混淆 Git 和代码托管平台的概念。Git 是版本控制系统,开发者可以将源代码存入名为“Git 仓库”的资料库中加以使用。而代码托管平台,比如 [GitHub](https://github.com/)、[GitLab](https://about.gitlab.com/)、[bitbucket](https://bitbucket.org/)、[Gitee](https://gitee.com/) 等,则是基于 Git 的代码托管平台,通过网络为用户提供 Git 仓库托管服务。在此基础之上,代码托管平台还提供了许多协作功能,将版本管理、Bug 跟踪、代码审查、邮件列表、IRC 等众多功能组合在一起,以实现更高效的协同开发。 总的来说,Git 和代码托管平台有关联,但又有许多不同的地方。关于 Git 和代码托管平台的操作,将在后续章节展开描述。