标记为“已删除”的文件在LibGit2Sharp中报告为“丢失”

时间:2012-06-25 16:15:58

标签: libgit2sharp git-status

使用Git Bash查看我的存储库状态时,我可以看到许多标记为“已删除”的文件。 LibGit2Sharp RepositoryStatus将这些文件报告为“Missing”。 RepositoryStatus对象还有一个集合“已删除”。

这两者有什么区别?删除的文件是否应该标记为“已删除”?

1 个答案:

答案 0 :(得分:3)

  

那么这两者有什么区别?

缺少已移除 FileStatus 枚举的条目。

如xml文档所述

  • 缺少表示“该文件已从工作目录中删除。索引中存在先前版本。”

  • 已删除表示“已删除文件已从工作目录升级到索引。头部中存在先前版本。”

可以将它们视为文件生命周期的特定状态。让我们考虑一个存在于工作目录,索引和Head中的文件。其状态为未更改

当从工作目录中删除(即从文件系统中删除)时,文件的状态变为 缺少

如果现在,有人对文件进行抑制,它会从索引中消失,状态变为已移除

  

删除的文件是否应该标记为“已删除”?

Git使用相同的单词已删除来描述这两种状态。但是,有一些视觉线索可以让你消除它们的歧义。

运行git status

  • 缺少文件列在Changes not staged for commit:部分下方,已删除的字词以红色

  • 着色
  • 已移除的文件列在Changes to be committed:部分下,已删除的字词以绿色

  • 显示