『git』学习笔记

基本概念

工作区

也就是仓库,是本地的目录,其中包含多个文件。

例如:路径为 /home/acs/project/,然后 project里面包含两个文件,分别是 main.cppreadme.txt

暂存区

是一个缓冲区,可以保存工作区中的某些文件。

将文件添加到缓冲区这个行为我们称为 stage

具体保存哪些文件由开发者决定,自行添加到暂存区即可

同时,我们使用 git status来查看状态时,会将工作区中的文件分成三种类型:

  1. Untracked:没有被追踪(直译)。意思是没有将下列文件添加到暂存区,其一切修改也只是在工作区发生。如果将暂存区添加到版本库,这个文件也不随之添加到版本库
  2. Changes not staged for commit:修改没有被 staged。意思是修改没有保存到暂存区
  3. 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

最后修改:2024 年 01 月 22 日
如果觉得我的文章对你有用,请随意赞赏