【发布时间】:2017-08-23 01:19:12
【问题描述】:
【问题讨论】:
-
您可能会在 this question about HEAD, working tree, and index 找到一些帮助。
-
工作树和索引是 Git 中的基本概念。你应该找到一个很好的 Git 教程。
【问题讨论】:
这意味着从工作树中删除:您克隆此存储库的文件系统树的工作目录以及由 git 维护的 .git 目录中的索引。 git rm 永远不会单独从工作目录中删除文件,否则它将使索引数据库处于不一致状态。要使用基于 Unix 的 rm 命令通知索引数据库有关删除文件的信息,您需要运行git commit -a,它实质上会删除已删除对象的索引。
【讨论】:
“工作树”是您对磁盘上文件的签出。
“索引”、“暂存区”或“缓存”(您会看到它统称为三者)是 Git 内部的。这是您准备下一次提交的空间。当您git add 时,您正在将文件从工作树复制到暂存区。当您git commit 时,您正在提交暂存区中的内容。
git rm 从工作树和暂存区中删除文件(除非你告诉它只用--cached 从暂存区中删除)。
This cheat sheet 可能会帮助您了解工作树、暂存区和 HEAD(当前签出的提交)之间的关系。更重要的是,它告诉你如何操作它们,因为这些命令真的不直观。
【讨论】: