🎁个人主页:我们的五年
🔍系列专栏:Linux网络编程
🌷追光的人,终会万丈光芒
🎉欢迎大家点赞👍评论📝收藏⭐文章
相关笔记:
https://blog.csdn.net/djdjiejsn/category_12893502.html
前言:
更详细的来认识Git,分布式版本控制系统。
Git 跟踪并管理的是修改,而非文件。
目录
1.工作区,暂存区,版本库
1.1工作区
1.2暂存区(stage):
1.3版本库:
2.git log
3.HEAD
4.其他内容
4.1git中打印文件
4.2git diff
4.3git status
1.工作区,暂存区,版本库
1.1工作区
工作区:是指你在本地文件系统中实际操作的文件和目录所在的区域。它是 Git 仓库的一部分,用于存放项目文件的当前状态,也是你进行代码编辑、开发和修改的地方。
是我们在这个仓库下的代码。也就是除了.git以外我进行代码编辑的文件,这就就是工作区的内容。
下面我在Linux环境的代码就是2024,2025这些文件。
1.2暂存区(stage):
暂存区(stage)也可以是索引(index),
位置:暂存区是一个临时区域,用于暂存即将提交到 Git 仓库的文件更改。
暂存区的是准备上传到Git仓库里面的文件,暂存区也在.git中,通过git add 可以把指定的文件提交增加到缓存区。
也可以git add .把当前所在的目录下的所有文件都增加到缓存区中。
git add .
git add (指定文件)
1.3版本库:
位置:Git 仓库存储在项目根目录下的 .git 文件夹中。
作用:这是 Git 存储所有提交历史、分支信息、标签等元数据的地方。它记录了项目的版本历史,是 Git 版本控制的核心。
状态:Git 仓库中的文件是不可直接修改的,只能通过 Git 命令进行操作。
文件不能直接从工作区到版本库,到版本库中。只能先从工作区到暂存区,然后再到版本库里面。
执行下面的命令就是把暂存区的更新到版本库中。后面的是我们提交的信息,用来描述此次提交文件的描述。
git commit -m "提交信息"
下面的图也可以来分析工作区和暂存区,版本库之间的区别。
HEAD指向的是master分支。
2.git log
查看提交的信息。
git log //打印修改信息
git log --pretty=oneline //信息一行一行的呈现
下面就是我们的每次的commit信息。
c6beaf225f77507ca4341cff8667799bc5cdd166 commit ID
object 时要将 commit id 分成2部分,其前2位是文件夹名称,后38位是文件名称
包括了提交的用户名,email,时间,我们自己写commit描述信息。
3.HEAD
HEAD指向的是最新一次提交的commit ID。
.git目录下有一个文件,里面存着的内容是refs/heads/master。
refs/heads/master里面存着的是第一个commit的ID。
4.其他内容
4.1git中打印文件
-p是 --pretty。
git cat-file -p 4b41babc70b648a0709236d5ae21ed8ead0d8368
4.2git diff
查看工作区和缓存区的差异
git diff (文件名) //工作区和缓存区差异
git diff HEAD(文件名) //缓存区和版本库的差异
4.3git status
查看缓存区是否有未提交的内容。
git status