• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 什么是 Git?

    Git已成为版本控制的全球标准。那么,它到底是什么?

    Git 是分布式版本控制系统,这意味着项目的本地克隆是完整的版本控制存储库。通过这些功能齐全的本地存储库,无论脱机还是远程都能轻松工作。开发人员在本地提交工作,然后将存储库的副本与服务器上的副本同步。这种范例不同于集中式版本控制,后者要求客户端必须先与服务器同步代码,然后才能创建新版代码。

    Git 的灵活性和受欢迎程度使其成为任何团队的绝佳选择。许多开发人员和大学毕业生已经知道如何使用 Git。 Git 的用户社区已创建资源来训练开发人员和 Git 的受欢迎程度,以便在需要时轻松获取帮助。几乎每个开发环境都有 Git 支持和 Git 命令行工具在每个主要操作系统上实现。

    版本控制是管理信息修改的艺术,他是一个开发者最重要的工具之一,由于开发者经常性的修改代码,如果不做出一定的版本控制仅靠注释掉或者备份的形式进行,那么在经过一段时间后,先不说是否能记住更改的地方,能不能还原到想要的版本都是非常困难的。想象一下,一个高达几十上百人的开发团队并行进行工作,需要经常性的同时处理同一个文件,如果没有一定的版本控制机制,将会是怎样的混乱情况。软件开发工作往往是多人协同作业,版本控制系统可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本控制中分支与合并的方法有效地解决。

    Git 基础知识

    快照

    每次保存工作时,Git 都会创建提交。提交是某个时间点所有文件的快照。如果文件未从一个提交更改为下一个提交,Git 将使用以前存储的文件。此设计不同于存储文件的初始版本并随时间推移保留增量记录的其他系统。

    提交创建指向其他提交的链接,形成开发历史记录的图。可以将代码还原到以前的提交,检查文件如何从一个提交更改为下一个提交,并查看更改的位置和时间等信息。提交通过提交内容的唯一加密哈希在 Git 中标识。由于所有内容都经过哈希处理,因此在未检测到 Git 的情况下无法进行更改、丢失信息或损坏文件。


    分支

    每个开发人员将更改保存到自己的本地代码存储库。因此,根据同一提交,可能会进行许多不同的更改。 Git 提供了用于隔离更改并在以后将它们重新合并在一起的工具。分支是用于工作的轻型指针,可管理此分离。在分支中创建的工作完成后,可以合并回团队的主分支(或主干)。


    文件和提交

    Git 中的文件处于以下三种状态之一:已修改、暂存或提交。首次修改文件时,更改仅存在于工作目录中。它们尚不属于提交或开发历史记录。开发人员必须暂存提交中要包含的已更改文件。暂存区域包含下一个提交中要包括的所有更改。开发人员对暂存文件感到满意后,文件将打包为提交,其中包含描述更改的内容的消息。此提交将成为开发历史记录的一部分。

    暂存允许开发人员选择要在提交中保存的文件更改,以便将大型更改分解为一系列较小的提交。通过减少提交范围,可以更轻松地查看提交历史记录以查找特定文件更改。