Git 教程
Git是世界上现代和广泛使用的 分布式版本控制 系统。它被开发用于高速和高效地管理项目。版本控制系统允许我们在同一工作空间中监控和与团队成员共同工作。
本教程将帮助您通过命令行以及GitHub了解分布式版本控制系统Git。本教程中的示例在Windows上进行演示,但我们也可以在其他操作系统(如Linux(Ubuntu)和MacOS)上执行相同操作。
什么是Git
Git 是一个 开源的分布式版本控制系统 。它设计用于高速和高效地处理从小到大的项目。它被开发用于协调开发人员之间的工作。版本控制允许我们在同一工作空间中跟踪和与团队成员共同工作。
Git是许多服务的基础,如 GitHub 和 GitLab ,但我们可以在不使用任何其他Git服务的情况下使用Git。Git可以 私有 和 公开 使用。
Git由 Linus Torvalds 于 2005年 创建,用于开发Linux内核。它也是一个重要的分布式版本控制工具,用于 DevOps 。
Git易于学习,并且拥有快速的性能。它比其他SCM工具(如Subversion、CVS、Perforce和ClearCase)更优秀。
Git的特点
Git的一些显着特点如下:
- 开源 Git是一个 开源工具 。它在 GPL (通用公共许可证)下发布。
- 可扩展 Git是 可扩展的 ,这意味着当用户数量增加时,Git可以轻松处理这种情况。
- 分布式 Git的一个伟大特性是它是 分布式的 。分布式意味着我们不需要切换到另一台计算机上运行项目,而是可以创建一个完整存储库的“克隆”。此外,每个用户都有自己的存储库,包含了整个项目的提交历史,而不仅仅是一个中央存储库接收更改。我们不需要连接到远程存储库,更改只是保存在我们的本地存储库中。如果需要,我们可以将这些更改推送到远程存储库。
- 安全性 Git是安全的。它使用SHA1(安全哈希函数)在存储库中命名和标识对象。文件和提交在签出时通过其校验和进行检查和检索。它以这样的方式存储其历史记录,使特定提交的ID依赖于导致该提交的完整开发历史。一旦发布,就不能对其旧版本进行更改。
- 速度 Git非常快速,因此可以在短时间内完成所有任务。大多数的Git操作都是在本地存储库上完成的,因此它提供了极高的速度。此外,集中式版本控制系统始终需要与某个服务器进行通信。Mozilla进行的性能测试显示它与其他版本控制系统相比非常快速。+
从本地存储库中获取版本历史比从远程服务器获取要快得多。Git的核心部分是用C编写的, 它忽略了与其他高级语言相关的运行时开销。Git是为在Linux内核上工作而开发的, 所以足够强大,能够有效地处理大型存储库。从一开始,速度和性能一直是Git的主要目标。 支持非线性开发 Git支持无缝分支和合并,有助于可视化和导航非线性开发。在Git中,一个分支表示一个提交。通过其父提交的帮助, 我们可以构建完整的分支结构。- 分支和合并 是Git的伟大功能,这使其与其他SCM工具不同。Git允许 创建多个分支 而互不影响。我们可以在分支上执行 创建、删除和合并 等任务,而这些任务只需几秒钟的时间。以下是通过分支可以实现的一些功能:
- 我们可以为项目的新模块 创建一个独立的分支 ,随时进行提交和删除。
- 我们可以有一个 生产分支 ,始终包含进入生产环境的内容,并可合并到测试分支进行测试。
- 我们可以为实验创建一个 演示分支 ,然后检查它是否工作正常。如果需要,我们也可以移除它。
-
分支的核心优势是,如果我们想将某些东西推送到远程仓库,我们不需要推送所有分支。我们可以选择一些分支,或者将它们全部一起推送。
- 数据保证 Git数据模型确保我们项目的每个单元的 加密完整性 。它通过 SHA算法 为每个提交提供 唯一的提交ID 。我们可以通过提交ID 检索 和 更新 提交。大多数集中式版本控制系统默认不提供这样的完整性保证。
- 暂存区 Git的 暂存区 也是Git的一个 独特功能 。它可以被看作是我们下一次提交的 预览 ,而且是一个 中间区域 ,在完成之前可以对提交进行格式化和审核。当你进行一次提交时,Git会将暂存区中的修改视为新的提交。我们可以向暂存区添加和删除修改。暂存区可以被视为Git存储修改的地方。 虽然Git没有专门的暂存目录来存储表示文件修改(blobs)的一些对象。取而代之的是,它使用一个叫做index的文件。
另一个使Git与其他版本管理工具不同的特点是,我们可以快速地暂存一些文件并提交它们,而不需要提交工作目录中的其他修改的文件。
* 保持整洁的历史记录 Git提供了Git Rebase功能,这是Git最有用的功能之一。它从主分支获取最新的提交,并将我们的代码放在其之上。因此,它保持了项目的整洁历史记录。
Git的好处
版本控制应用程序允许我们跟踪我们在项目文件中所做的所有更改。每当我们在现有项目的文件中进行更改时,我们可以将这些更改推送到一个仓库中。其他开发人员可以从仓库中获取你的更改,并继续使用你添加到项目文件中的更新。
使用Git的一些重要优点如下:
- 节省时间 :Git是一种极快的技术。每个命令只需要几秒钟就能执行,所以与登录GitHub账户并了解其功能相比,我们可以节省很多时间。
- 离线工作 :Git最重要的好处之一是支持 离线工作 。如果我们遇到网络连接问题,这不会影响我们的工作。在Git中,我们可以几乎在本地完成所有操作。相比之下,其他类似SVN的CVS工具受限并偏向于与中央仓库建立连接。
- 撤销错误 :Git的另一个附加好处是我们可以 撤销 错误。有时撤销可以成为我们的救命稻草。Git几乎为所有操作提供了撤销选项。
- 跟踪变更 :Git提供一些令人兴奋的功能,如 Diff, Log 和 Status ,使我们能够跟踪变更,从而可以 检查状态、比较 我们的文件或分支。
为什么选择Git
我们讨论了许多Git的 特性 和 好处 ,它们无疑证明了Git作为领先的版本控制系统。现在,我们将讨论一些其他关于为什么我们应该选择Git的观点。
- Git的整体性 Git被开发出来是为了确保被版本控制的内容的安全性和完整性。它在数据传输过程中使用校验和,在文件系统被篡改时使用校验和来确认信息没有丢失。在内部它会根据文件内容创建一个校验和值,并在传输或存储数据时进行验证。
- 时髦的版本控制系统 Git是使用最广泛的版本控制系统。它在所有版本控制系统中拥有最多的项目。由于其出色的工作流和功能,它是开发者的首选。
- 一切都是本地的 几乎所有Git的操作都可以在本地完成,这是使用Git的一个重要原因。我们不需要确保有互联网连接。
- 合作公共项目 GitHub上有许多公共项目。我们可以在这些项目上合作,并向世界展示我们的创造力。许多开发者都在合作公共项目。合作让我们能够与经验丰富的开发者站在一起,并从中学到很多;因此,它提升了我们的编程技能。
- 给招聘者留下印象 我们可以在简历中提到Git和GitHub来给招聘者留下印象。将你的GitHub个人资料链接发送给你想要加入的组织的人力资源部门。通过你的工作展示你的技能和影响力。这增加了被录用的机会。
先决条件
Git不是一种编程语言,所以你只需要对Windows命令有基本的理解。
教程对象
我们开发了这个Git教程供初学者和专业人士使用,因为我们从零开始编写了这个教程。所以它可以帮助你快速学习Git。
问题
我们保证你在我们的Git教程中不会遇到任何困难。但是,如果你发现任何错误,你可以在我们的评论区提出。