Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

Git - 缓存区操作

返回Git首页

目录


Cheat Sheet 速查表

Git命令:缓存区

动作 对象 命令 备注
查看 缓存区内文件 git ls-files  
添加 <指定文件> git add <filename>  
添加 \指定文件夹|git add directory\    
添加 当前路径的所有文件 git add . 不包含已删除文件
更新 已缓存的文件 git add -u|--update 不包含新文件
更新 已缓存的文件 git add -A 包含已删除文件
删除 缓存区<指定文件> git rm --cached \<filename>  
删除 工作区缓存区<指定文件> git rm -f <filename> 工作区文件也删除
删除 缓存区当前路径下所有文件 git rm -r * --cached Git: 工作区当前路径
删除 工作区缓存区当前路径下所有文件 git rm -r * -f Git: 工作区当前路径

查看:缓存区中文件 git ls-files

命令

git ls-files 

图片1

回到目录


添加/更新:从工作区添加 git add

参数<filename>:添加/更新指定文件到缓存区

命令

git add <filename>

在VSC中,工作区中没有提交缓存区的文件会带有U标识。当提交到缓存区后,会带有A标识。

图片2

图片3

提交缓存区后,可使用git ls-file命令查看缓存区的所有文件。

图片4

如果没有指定文件时会显示did not match any files

图片5

回到目录


参数<directory>: 添加指定目录到缓存区

命令

git add \<directory>

回到目录


参数.: 添加/更新当前目录下的所有文件到缓存区

命令

git add .

代码说明:

  1. 查询状态,显示两个文件是”??”, 即文件未缓存
  2. 添加当前目录所有文件到缓存;
  3. 查询状态,显示两个文件是”A”, 即文件已缓存

图片6

代码说明:folder是子文件夹. 执行添加后,子文件夹内文件也一并缓存

图片7

回到目录


参数-A: 更新所有变化

命令

git  add -A

代码说明:

  1. 查询状态:
    • demo1.md: 已缓存,被修改;
    • demo2.md: 已缓存,被删除;
    • demo3.md:新建文件;
  2. 执行 add -A
  3. 查询状态:
    • demo1.md: 更新修改;
    • demo2.md: 删除;
    • demo3.md:缓存;
  4. 查看缓存文件:只有demo1,demo3 说明:-A 更新所有文件,包括删除文件

图片20

回到目录


参数-u: 更新已缓存文件

命令

git  add -u|--update

代码说明:

  1. 查询:
    • demo1.md: 已缓存,被修改。
    • demo2.md: 未缓存。
  2. 执行add -u
  3. 查询:
    • demo1.md:修改被缓存。
    • demo2.md: 未缓存。 所以add -u的效果是:更新已缓存的文件

图片19

回到目录


删除:缓存区中的文件 git rm

参数cached: 只删除缓存区中的文件,保留工作区文件

命令

git rm --cached <filename>

代码说明:

  1. 查询状态,stage.py状态是A,即已缓存
  2. 删除文件;
  3. 查询状态, stage.py状态是??,即未缓存; 所以效果是只删除缓存区中的文件,保留工作区文件.

图片11

图片8

注意,只对缓存区作用

图片9

图片10

回到目录


参数-f:同时删除缓存区和工作区的文件

命令

git rm -f <filename>

代码说明:以下的stage.py是在缓存区中,当使用参数-f后悔删除缓存区和工作区的文件。

图片12

图片13

回到目录


参数-r *:递归当前路径下得所有文件名

命令

git rm -r *

代码说明:

  1. 查看当前状态,返现目前路径工作区中的文件都已经缓存。
  2. 使用-r *,再加强制执行参数-f,将会递归当前路径的文件名并强制删除。
  3. 查看当前状态, 返回为空。即当前路径下的文件在工作区和缓存区被强制删除。

图片14

图片15

图片16

即递归的依据是工作区的当前路径。

图片17

图片18

回到目录


返回Git首页