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

And*_*ill 2 git rm

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

pok*_*oke 7

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

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

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