『git』学习笔记
基本概念
工作区
也就是仓库,是本地的目录,其中包含多个文件。
例如:路径为 /home/acs/project/,然后 project里面包含两个文件,分别是 main.cpp和 readme.txt
暂存区
是一个缓冲区,可以保存工作区中的某些文件。
将文件添加到缓冲区这个行为我们称为 stage
具体保存哪些文件由开发者决定,自行添加到暂存区即可
同时,我们使用 git status来查看状态时,会将工作区中的文件分成三种类型:
Untracked:没有被追踪(直译)。意思是没有将下列文件添加到暂存区,其一切修改也只是在工作区发生。如果将暂存区添加到版本库,这个文件也不随之添加到版本库Changes not staged for commit:修改没有被staged。意思是修改没有保存到暂存区Changes to be commited:等待持久化的修改。意思是下列文件在工作区修改之后成功上传到了暂存区,并且目前的暂存区和工作区的下列文件已经保持一致。此时可以使用commit(持久化)命令将暂存区内的文件上传到版本库
还有一种特殊状态:
On branch master
nothing to commit, working tree clean表示:当前的工作区的所有文件都已经 tracked到暂存区,并且暂存区已经 stage了全部文件的修改。然后暂存区中的文件全部都持久化到了版本库,即三区统一
版本库
接受暂存区中向上 commit的文件
常用命令
restore
git resotre --staged filename :将指针 HEAD所指的版本库恢复到暂存区,也可以理解为删除暂存区中的 staged文件。但仍然保持对文件的 track
git restore -- filename:将文件从暂存区恢复到工作区(--可以省略)
git rm --cached <文件名>:取消对文件的追踪,变成 untracked