Git 仓库管理功能 是 GitHub 的核心。因此,使用 GitHub 之前必须先掌 Git 的相关知识。同时本地的设备还要安装 Git 的环境。
2.1 诞生背景
Git 属于 分散型版本管理系统,是为版本管理设计的软件。
Linux 的创始人 Linux Torvalds 在2005年开发了 Git 的原型程序。当时, 由于在LInux内核开发中使用的既有版本管理系统的开发方许可证发生了变更,未来更换新的版本管理系统 Torvalds 开发了Git。
2.2 什么是版本管理
版本管理 就是管理更新的历史记录。它为我们提供了一些在软件开发过程中必不可少的功能,例如记录一款软件添加或更改源代码的过程、回滚到特定阶段、恢复误删文件等等。
集中型与分散型
集中型
以 Subversion 为代表的集中型,会如图所示将仓库集中存放在服务器之中,所以只存在一个仓库。
集中型将所有数据集中存放在服务器中,又便于管理的优点,但是一旦开发者所处环境不能连接服务器,就无法获取最新的源代码,开发也就几乎无法进行。
分散型
分散型是以 Git 为代表的。如图所示,GitHub 将仓库 Fork 给了每一个用户。
Fork 就是将 GitHub 的某个特定仓库复制到自己的账户下。
Fork 出的仓库与原仓库是两个不同的仓库,开发者可以随意编辑。
图中只显示了一般的使用流程。事实上,所有仓库之间都可以进行 Pull 和 Push 。及时不通过GItHub, 开发者 A 也可以直接向开发者B的仓库进行 push 和pull 。因此,在使用之前需要实现制定规范,初学者往往会搞不清最新的代码保存在哪里,导致开发失去控制。