开源
Git是一种开源工具。它是根据 GPL (通用公共许可证)许可发布的。
可伸缩
Git是可伸缩的,这意味着当用户数量增加时,Git可以轻松应对这种情况。
分布式
Git的一大功能是它是分布式。分布式意味着无需将项目切换到另一台机器,我们可以创建整个存储库的"克隆"。此外,每个用户不仅拥有一个向您发送更改的中央存储库,还拥有自己的存储库,其中包含项目的整个提交历史记录。我们不需要连接到远程存储库。更改仅存储在我们的本地存储库中。如有必要,我们可以将这些更改推送到远程存储库。
安全性
Git是安全的。它使用 SHA1(安全哈希函数)来命名和标识其存储库中的对象。在签出时通过其校验和检查文件和提交。它以这样的方式存储其历史,即特定提交的ID取决于导致该提交的完整开发历史。一旦发布,便无法对其旧版本进行更改。
速度
Git非常快速快速,因此它可以在一段时间内完成所有任务。大多数git操作都是在本地存储库上完成的,因此它提供了巨大的速度。此外,集中式版本控制系统会与某处的服务器持续通信。
Mozilla进行的性能测试表明,与其他VCS相比,它非常快。从本地存储的存储库中获取版本历史比从远程服务器中获取版本历史要快得多。 Git的核心部分用C语言编写的,它忽略了与其他高级语言相关的运行时开销。
Git被开发为在Linux内核上工作;因此,它有能力足以有效地处理大型 存储库。从一开始,速度和性能就是Git的主要目标。
支持非线性开发
Git支持无缝分支和合并,这有助于可视化和导航非线性开发。 Git中的一个分支代表一个提交。我们可以借助其家长提交来构建完整的分支结构。
分支和合并
分支和合并是Git的强大功能,这使其与其他SCM工具有所不同。 Git允许创建多个分支,而不会互相影响。我们可以在分支上执行创建,删除和合并之类的任务,这些任务仅需几秒钟。以下是可以通过分支实现的一些功能: 我们可以为项目的新模块创建一个单独的分支,并在需要时提交并删除它。 我们可以有一个生产分支,该分支始终具有要生产的东西,并且可以合并以在测试分支中进行测试。 我们可以为实验创建一个 demo分支,并检查其是否正常运行。如果需要,我们也可以将其删除。 分支的核心好处是,如果我们想将某些内容推送到远程存储库,则不必推送所有分支。我们可以选择一些分支机构,也可以一起选择所有分支机构。
数据保证
Git数据模型可确保我们项目中每个单元的加密完整性。它通过 SHA算法为每个提交提供唯一提交ID 。我们可以按提交ID 检索和更新提交。默认情况下,大多数集中式版本控制系统都不提供这种完整性。
暂存区
暂存区也是Git的独特功能。它可以被视为我们下一次提交的预览,此外,还可以被视为中间区域,在此区域中,提交可以在完成之前进行格式化和审阅。当您进行提交时,Git会接受登台区域中的更改,并将其作为新的提交。我们可以在登台区域中添加和删除更改。暂存区可以视为Git存储更改的地方。
虽然,Git没有专用的暂存目录,它可以在其中存储一些表示文件更改(blob)的对象。取而代之的是,它使用一个名为index的文件。
Git与其他SCM工具不同的另一个特点是 可以快速暂存某些文件并提交它们,而无需在工作目录中提交其他修改的文件。
历史记录
Git借助Git Rebase促进了工作;这是Git最有用的功能之一。它从master分支获取最新的提交,并将我们的代码放在最上面。因此,它保持了项目的干净历史。
节省时间
Git是闪电般的快速技术。每个命令只需执行几秒钟,因此与登录GitHub帐户并了解其功能相比,我们可以节省大量时间。
离线工作
Git最重要的好处之一就是它支持离线工作。如果我们面临Internet连接问题,它将不会影响我们的工作。在Git中,我们几乎可以在本地做任何事情。相对而言,像SVN这样的其他CVS受限制,并且更喜欢与中央存储库进行连接。
撤消错误
Git的另一个好处是我们可以撤消错误。有时候,撤消对于我们来说可能是一个救星选择。 Git提供了几乎所有功能的撤消选项。
跟踪更改
Git提供了一些令人兴奋的功能,例如 Diff,Log,和 Status ,可让我们跟踪进行更改,以便我们检查状态,比较我们的文件或分支。
Git完整性
开发Git是为了确保内容的安全性和完整性受版本控制。它在传输或篡改文件系统期间使用校验和来确认信息没有丢失。在内部,它根据文件的内容创建一个校验和值,然后在传输或存储数据时对其进行验证。
时髦的版本控制系统
Git是使用最广泛的版本控制系统。在所有版本控制系统中,它具有最大项目。由于其惊人的工作流程和功能,它是开发人员的首选。
一切都在本地
几乎所有的Git操作都可以在本地执行;这是使用Git的重要原因。我们将不必确保互联网连接。
与公共项目合作
GitHub上有许多公共项目。我们可以在这些项目上进行合作,并向全世界展示我们的创造力。许多开发商在公共项目上进行合作。通过合作,我们可以与经验丰富的开发人员站在一起,并从他们那里学到很多东西;因此,它将我们的编程技能提高到一个新的水平。
打动招聘人员
我们可以通过在简历中提及Git和GitHub来打动招聘人员。将您的GitHub个人资料链接发送到您想加入的组织的HR。显示您的技能并通过您的工作来影响他们。它增加了被录用的机会。