All technological notes.
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 add <filename>
在VSC中,工作区中没有提交缓存区的文件会带有U标识。当提交到缓存区后,会带有A标识。


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

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

命令
git add \<directory>
命令
git add .
代码说明:
- 查询状态,显示两个文件是”??”, 即文件未缓存。
- 添加当前目录所有文件到缓存;
- 查询状态,显示两个文件是”A”, 即文件已缓存。

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

命令
git add -A
-A是大写A。否则会返回错误;代码说明:
- 查询状态:
- demo1.md: 已缓存,被修改;
- demo2.md: 已缓存,被删除;
- demo3.md:新建文件;
- 执行
add -A- 查询状态:
- demo1.md: 更新修改;
- demo2.md: 删除;
- demo3.md:缓存;
- 查看缓存文件:只有demo1,demo3 说明:
-A更新所有文件,包括删除文件

命令
git add -u|--update
-u或--update: 更新已缓存的文件。代码说明:
- 查询:
- demo1.md: 已缓存,被修改。
- demo2.md: 未缓存。
- 执行
add -u- 查询:
- demo1.md:修改被缓存。
- demo2.md: 未缓存。 所以
add -u的效果是:更新已缓存的文件。

命令
git rm --cached <filename>
代码说明:
- 查询状态,stage.py状态是A,即已缓存;
- 删除文件;
- 查询状态, stage.py状态是??,即未缓存; 所以效果是只删除缓存区中的文件,保留工作区文件.


注意,只对缓存区作用


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


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



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

