date:
updated:

重新认识git【其一】几个区域和移动指令


git 的四个区域

  • 工作区(workspace): 你正在编辑的文件
  • 暂存区(index): git add 之后文件的所处的区域
  • 本地仓库(repository): git commit 之后文件所处的区域
  • 远程仓库(remote): 如github, gitee

文件在不同区域中转换

工作区 => 暂存区

1
2
git add <file>
git add . # 快速地把所有文件状态保存到暂存区

交互式暂存

1
git add -i

暂存区 => 本地仓库

1
2
3
4
git commit -m <message> # 如果message含有空格, 则要使用双引号包裹, 而不是单引号!!
git commit # 将会使用默认编辑器来编辑message


工作区 => 暂存区 => 本地仓库

1
2
# -a for add, 自动在commit之前运行`git add`指令, 把所有已经跟踪过的文件暂存起来一起提交
git commit -a -m <message>

git rm 移除文件

此指令将会把文件从工作区, 暂存区中移除, 如果在上一个版本库中存在这个文件, 回溯版本仍然可以找回这个文件, 可以使用类似.gitignore的匹配规则

1
2
git rm <filePath>
--cached # 只删除暂存区中的文件, 而不删除工作区中的文件, 主要用于忘记配置gitignore的情况

git mv 移动文件

该指令也用于重命名文件

1
git mv <fileForm> <fileTo>

.gitignore 文件

在项目根目录下创建.gitignore文件, 描述了git需要忽略的文件

本文参考文档

反向操作

git reset

本地仓库 => 暂存区(不会覆盖工作区, 相当于取消暂存)

1
git reset HEAD should_not_add.md

← Prev 重新认识git【其二】查看历史记录与详细信息 | 选择一个主题并部署博客 Next →