GIT自学。

170 阅读2分钟

以下为自学内容。参考自《pro git》。水平有限望阅者批评指正。

前端开始学习伊始参阅的第一本书《pro git》,这是万里长征第一步,也是一个全新的自己。

关于版本控制,便提到版本控制系统(VCS)、集中化的版本控制系统(CVCS)、分布式版本控制系统(DVCS)(git等,不止提取最新版本的文件快照,而是把代码仓库完整地镜像下来,如下图;)

Git速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。

Git与其他版本系统的主要区别在于git对待数据的方法。Git更像是把数据看作是对小型文件系统的一组快照。每次你提交更新,或在Git中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个快照流。如下图。

  • 近乎所有操作都是本地执行。
  • git保证完整性(所有数据在存储前都计算校验和,git数据库中保存的信息都是以文件内容的哈希值来索引,而非文件名)
  • git一般只添加数据
  • git的三种状态:git仓库(git用来保存项目的元数据和对象数据库的地方)、工作目录(对项目的某个版本独立提取出来的内容)、暂存区域(文件。保存了下次要提交的文件列表信息,一般在git仓库目录中)。相关命令如下图:

ps:如果git目录中保存着的特定版本文件,就属于已提交状态。如果做了修改并已放入暂存区域,就属于已暂存状态,如果自上次取出后,做了修改但还没有放到暂存区域,就是已修改状态。

从源代码安装一个软件显得好厉害的样子。各种依赖库依赖包。

git config 设置控制git外观和行为。(需要补充vim知识。)

下面是查找git命令手册的三种使用方法

$ git help <verb>
$ git <verb> --help
$ man git-<verb>

如
git help config

.git隐藏文件夹的作用:该子目录含有你初始化的git仓库所有的必须文件。 git add实现文件的跟踪,git commit实现文件的提交;

git status检查当前文件状态。 master是默认的分支明。