为什么使用git rm而不是rm'ing文件,目录等然后使用git add -u?

时间:2012-07-07 12:43:26

标签: git rm

我无法让git rm删除现在多余的目录及其来自项目的文件。这让我想知道为什么git rm是删除跟踪文件而不是rm -rf git之外的目录和文件然后git add -u来暂存和准备删除以前跟踪的文件的公认做法?后者似乎对我更有意义,但我可能不理解git rm的优点。

1 个答案:

答案 0 :(得分:7)

当然,总有多种方法可以做某事。使用git rm的一些优点是:

  • 您实际上控制的是索引,而不是真正的文件系统。 Git在文件系统中删除文件的事实只是一个实用程序。
  • 这意味着您可以从Git中删除文件而不删除它们:git rm --cached
  • 您可以精确地删除那些您真正想要删除的文件,而不像git add -u那样将所有更改添加到索引中。

特别是最后一个对我个人来说非常重要,因为我想完全控制我在提交中添加的更改。因此,使用add -u很少会让我开心(就像add .)。但是,当然,如果您对使用add -u感到满意,请随意使用它。