1、git对象
Git 对象 Git 是一个内容寻址文件系统,听起来很酷。但这是什么意思呢? 这意味着,Git 的核心部分是一个简单的键值对数据库(key-value data store)。 你可以向 Git 仓库中插入任意类型的内容,它会返回一个唯一的键,通过该键可以在任意时刻再次取回该内容。 可以通过底层命令 git hash-object 来演示上述效果——该命令可将任意数据保存于 .git/objects 目录(即 对象数据库),并返回指向该数据对象的唯一的键。
然而,记住文件的每一个版本所对应的 SHA-1 值并不现实;另一个问题是,在这个(简单的版本控制)系统中,文件名并没有被保存——我们仅保存了文件的内容。
2、树对象
接下来要探讨的 Git 对象类型是树对象(tree object),它能解决文件名保存的问题,也允许我们将多个文件组织到一起。
3、指令
1、git -v 查看git版本
2、git init 创建git仓库
3、git clone 克隆一个仓库
4、git status 用于显示工作目录和暂存区的状态
5、git add 将内容从工作目录添加到暂存区(或称为索引(index)区),以备下次提交。
当 git commit 命令执行时,默认情况下它只会检查暂存区域,因此 git add 是用来确定下一次提交时快照的样子的。
6、git commit -m的意思是“提交暂存区文件到本地仓库中”
语法为“git commit -m [message]”;commit命令用于将暂存区内容添加到本地仓库中,-m 参数是用来添加提交信息的,message可以是一些备注信息
7、git log 命令用于查看Git 仓库中提交历史记录。
git log 显示了从最新提交到最早提交的所有提交信息,包括提交的哈希值、作者、提交日期和提交消息等。 常用的选项包括: -p :显示提交的补丁(具体更改内容)。
8、git branch 命令实际上是某种程度上的分支管理工具。
它可以列出你所有的分支、创建新分支、删除分支及重命名分支。 Git 分支 一节主要是为 branch 命令来设计的,它贯穿了整个章节。
9、git checkout 命令用于在不同的分支之间切换、恢复文件、创建新分支等操作。
注意:git checkout 命令在Git 2.23 版本后引入了git switch 和git restore 命令,分别用于分支切换和文件恢复,以提供更清晰的语义和错误检查。
10、git merge 命令用于合并指定分支到当前分支。
合并后,再查看 readme.txt 的内容,就可以看到,和 dev 分支的最新提交是完全一样的。 注意到上面的 Fast-forward 信息,Git告诉我们,这次合并是“快进模式”,也就是直接把 master 指向 dev 的当前提交,所以合并速度非常快。