首页 » 常识 » 问答 » Git基础核心概念与基础命令
TUhjnbcbe - 2021/7/16 14:06:00
Git核心概念与基础命令简介

Git是一个开源的分布式版本控制系统。

什么是版本控制系统?

举个例子:

当你的代码功能已经实现之后,你突然又有一个新的想法想要尝试一下,你又担心在将来新的想法没写好,原本已经写好的代码又无法恢复,这个时候该怎么办?

没有版本控制系统之前,你可以将原来的代码拷贝一份副本,在新的副本上尝试新的想法。当你又有新想法的时候,再拷贝一个副本,于是你的项目就变成了这个样子:

过了很久,你想找回你之前实现的某一个功能,但是已经不记得具体是放在哪一个副本当中了,只能一个个的项目去查找,特别麻烦。

更为麻烦的是,当你和你的同事共同去开发一个项目的时候,你们可能得通过U盘,网络文件传输等方式来同步代码,每次修改的时候还得非常注意,不然一不小心就与同事已经实现或者正在实现的功能冲突了,效率特别低下。

有了版本控制系统之后,以上的麻烦就都没有了,版本控制系统不但能自动记录每次文件的改动,还可以让同事协作编程,每次版本的更新都会有相应的记录,让你清晰地了解每个版本发生的变更信息,与同事协作的时候,也不用将项目文件传来传去,直接通过版本控制系统来进行远程同步就好了。

核心概念工作区

工作区的内容就是你在电脑里能看到的内容,对应着本地文件。

版本库

工作区有一个隐藏目录.git,里面存放的是版本库的内容。

暂存区

一般存放在.git目录下的index文件(.git/index)中,暂存区有时也称为索引(index)。

暂存区属于版本库的一部分。

左侧为工作区,右侧为版本库。版本库中标记为index的区域是暂存区,标记为master的是目录树。

工作区主要对应电脑中我们看到的文件。

版本库包含三大部分:index、master和objects

HEAD是一个指向master的指针,图中的命令中出现HEAD的地方都可以用master来替换。

objects是Git的对象库,位于.git/objects目录下,里面包含了创建的各种对象及内容。

工作流程

当我们添加或修改了一个文件之后,执行gitadd命令,将文件从工作区添加到暂存区中。暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。

添加到暂存区之后,执行git

1
查看完整版本: Git基础核心概念与基础命令