工作区:是指你在本地文件系统中实际操作的文件和目录所在的区域。它是 Git 仓库的一部分,用于存放项目文件的当前状态,也是你进行代码编辑、开发和修改的地方。
是我们在这个仓库下的代码。也就是除了.git以外我进行代码编辑的文件,这就就是工作区的内容。
下面我在Linux环境的代码就是2024,2025这些文件。
暂存区(stage)也可以是索引(index),
暂存区的是准备上传到Git仓库里面的文件,暂存区也在.git中,通过git add 可以把指定的文件提交增加到缓存区。
也可以git add .把当前所在的目录下的所有文件都增加到缓存区中。
git add .
git add (指定文件)
位置:Git 仓库存储在项目根目录下的 .git 文件夹中。 作用:这是 Git 存储所有提交历史、分支信息、标签等元数据的地方。它记录了项目的版本历史,是 Git 版本控制的核心。 状态:Git 仓库中的文件是不可直接修改的,只能通过 Git 命令进行操作。
文件不能直接从工作区到版本库,到版本库中。只能先从工作区到暂存区,然后再到版本库里面。
执行下面的命令就是把暂存区的更新到版本库中。后面的是我们提交的信息,用来描述此次提交文件的描述。
git commit -m "提交信息"
下面的图也可以来分析工作区和暂存区,版本库之间的区别。
HEAD指向的是master分支。
查看提交的信息。
git log //打印修改信息
git log --pretty=oneline //信息一行一行的呈现
下面就是我们的每次的commit信息。
c6beaf225f77507ca4341cff8667799bc5cdd166 commit ID object 时要将 commit id 分成2部分,其前2位是文件夹名称,后38位是文件名称
包括了提交的用户名,email,时间,我们自己写commit描述信息。
HEAD指向的是最新一次提交的commit ID。
.git目录下有一个文件,里面存着的内容是refs/heads/master。
refs/heads/master里面存着的是第一个commit的ID。
-p是 --pretty。
git cat-file -p 4b41babc70b648a0709236d5ae21ed8ead0d8368
查看工作区和缓存区的差异
git diff (文件名) //工作区和缓存区差异
git diff HEAD(文件名) //缓存区和版本库的差异
查看缓存区是否有未提交的内容。
git status