一、是什么
git,是一个分布式版本控制软件,最初目的是为更好地管理Linux
内核开发而设计
分布式版本控制系统的客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复
项目开始,只有一个原始版仓库,别的机器可以clone
这个原始版本库,那么所有clone
的机器,它们的版本库其实都是一样的,并没有主次之分
所以在实现团队协作的时候,只要有一台电脑充当服务器的角色,其他每个人都从这个“服务器”仓库clone
一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交
github
实际就可以充当这个服务器角色,其是一个开源协作社区,提供Git
仓库托管服务,既可以让别人参与你的开源项目,也可以参与别人的开源项目
前端开发中的作用
Git是一个分布式版本控制系统,用于跟踪文件和项目的变化。它可以记录每个文件的修改历史,并允许开发者在不同的分支上进行并行开发和合并工作。
在前端开发中,Git起着至关重要的作用。它可以帮助开发者轻松地管理代码,跟踪文件的修改、添加和删除,并记录每个提交的详细信息。
以下是Git在前端开发中的一些主要作用:
-
版本控制:Git允许开发者跟踪代码的版本历史,可以回溯到任何时刻的代码状态。这对于调试、修复错误以及恢复代码都非常有用。
-
分支管理:Git支持创建多个分支,使得团队成员可以并行地开发不同的功能和修复不同的bug。每个分支都可以独立地进行开发和测试,最后再将分支合并到主分支上。
-
合作开发:多人协作开发时,Git可以协助团队成员共享和合并代码。它提供了远程仓库的功能,使得团队成员可以将代码推送到共享仓库并进行同步。
-
撤销和回退:Git允许开发者撤销之前的提交,回退到之前的版本。这对于修复错误或不需要的更改非常有用。
-
快速部署: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个多命令,通过这些命令的配合使用,能够提高个人工作效率和团队协助能力