一、是什么

git,是一个分布式版本控制软件,最初目的是为更好地管理Linux内核开发而设计

分布式版本控制系统的客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复

项目开始,只有一个原始版仓库,别的机器可以clone这个原始版本库,那么所有clone的机器,它们的版本库其实都是一样的,并没有主次之分

所以在实现团队协作的时候,只要有一台电脑充当服务器的角色,其他每个人都从这个“服务器”仓库clone一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交

github实际就可以充当这个服务器角色,其是一个开源协作社区,提供Git仓库托管服务,既可以让别人参与你的开源项目,也可以参与别人的开源项目

前端开发中的作用

Git是一个分布式版本控制系统用于跟踪文件和项目的变化。它可以记录每个文件的修改历史,并允许开发者在不同的分支上进行并行开发和合并工作。

在前端开发中,Git起着至关重要的作用。它可以帮助开发者轻松地管理代码,跟踪文件的修改、添加和删除,并记录每个提交的详细信息。

以下是Git在前端开发中的一些主要作用:

  1. 版本控制:Git允许开发者跟踪代码的版本历史,可以回溯到任何时刻的代码状态。这对于调试、修复错误以及恢复代码都非常有用。

  2. 分支管理:Git支持创建多个分支,使得团队成员可以并行地开发不同的功能和修复不同的bug。每个分支都可以独立地进行开发和测试,最后再将分支合并到主分支上。

  3. 合作开发:多人协作开发时,Git可以协助团队成员共享和合并代码。它提供了远程仓库的功能,使得团队成员可以将代码推送到共享仓库并进行同步。

  4. 撤销和回退:Git允许开发者撤销之前的提交,回退到之前的版本。这对于修复错误或不需要的更改非常有用。

  5. 快速部署:Git可以轻松部署代码到生产环境。通过创建发布分支或打标签,开发者可以准确地控制代码的部署版本。

二、工作原理

当我们通过git init创建或者git clone一个项目的时候,项目目录会隐藏一个.git子目录,其作用是用来跟踪管理版本库的

Git 中所有数据在存储前都计算校验和,然后以校验和来引用,所以在我们修改或者删除文件的时候,git能够知道

Git用以计算校验和的机制叫做 SHA-1 散列(hash,哈希), 这是一个由 40 个十六进制字符(0-9 和 a-f)组成字符串,基于 Git 中文件的内容或目录结构计算出来,如下:

24b9da6552252987aa493b52f8696cd6d3b00373

当我们修改文件的时候,git就会修改文件的状态,可以通过git status进行查询,状态情况如下:

  • 已修改(modified):表示修改了文件,但还没保存到数据库中。
  • 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
  • 已提交(committed):表示数据已经安全的保存在本地数据库中。

文件状态对应的,不同状态的文件在Git中处于不同的工作区域,主要分成了四部分:

  • 工作区:相当于本地写代码的区域,如 git clone 一个项目到本地,相当于本地克隆了远程仓库项目的一个副本
  • 暂存区:暂存区是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中
  • 本地仓库:提交更新,找到暂存区域的文件,将快照永久性存储到 Git 本地仓库
  • 远程仓库:远程的仓库,如 github

三、命令

从上图可以看到,git日常简单的使用就只有上图6个命令:

  • add
  • commit
  • push
  • pull
  • clone
  • checkout

但实际上还有很多命令,如果想要熟练使用,还有60个多命令,通过这些命令的配合使用,能够提高个人工作效率和团队协助能力

参考文献