【问题标题】:What does git-rm mean by working tree and index?git-rm 工作树和索引是什么意思?
【发布时间】:2017-08-23 01:19:12
【问题描述】:

git-rmdocumentation 包含以下简短描述:

git-rm - 从工作树和索引中删除文件

工作树和索引究竟是什么意思,哪些本地或远程文件将被删除?

【问题讨论】:

标签: git git-rm


【解决方案1】:

这意味着从工作树中删除:您克隆此存储库的文件系统树的工作目录以及由 git 维护的 .git 目录中的索引。 git rm 永远不会单独从工作目录中删除文件,否则它将使索引数据库处于不一致状态。要使用基于 Unix 的 rm 命令通知索引数据库有关删除文件的信息,您需要运行git commit -a,它实质上会删除已删除对象的索引。

【讨论】:

    【解决方案2】:

    “工作树”是您对磁盘上文件的签出。

    “索引”、“暂存区”或“缓存”(您会看到它统称为三者)是 Git 内部的。这是您准备下一次提交的空间。当您git add 时,您正在将文件从工作树复制到暂存区。当您git commit 时,您正在提交暂存区中的内容。

    git rm 从工作树和暂存区中删除文件(除非你告诉它只用--cached 从暂存区中删除)。

    This cheat sheet 可能会帮助您了解工作树、暂存区和 HEAD(当前签出的提交)之间的关系。更重要的是,它告诉你如何操作它们,因为这些命令真的不直观。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      • 2018-06-21
      • 1970-01-01
      • 2010-09-16
      • 2022-11-25
      • 2012-12-22
      • 1970-01-01
      相关资源
      最近更新 更多