什么时候应该使用rm,git rm,git rm
我正在学习git,但我很困惑不同的分段和提交文件的方式。 为了包裹我的头,我使用了一个目录隐喻:工作目录,登台目录,提交目录。
rm从我的工作目录中的文件,它仅仅只是从我的工作目录中删除。  它是否正确? git rm一个文件,它会从所有三个目录中删除它。  正确? git rm --cached一个文件,它会从我的staged和commit目录中删除文件,但将其保留在我的工作目录中? git add .  ,那么git status显示已添加,删除和更新的分阶段文件。  我犯了什么后会发生什么?  删除的文件是否从提交目录中删除?  如果我稍后回滚该提交,那么这些被删除的文件会重新出现吗? 任何帮助更好地理解这些概念将不胜感激 - 谢谢!
  调整你的暂存区(也被称为索引或缓存)和理解--cached选项。  git rm的文档声明 
--cached
使用此选项可以取消仅从索引中删除路径的情况。 工作树文件,无论是否修改,都将被单独保留。
运行你的列表给出
rm file - 只从工作目录中删除文件 git rm - 从工作目录和暂存区域中删除文件,但不是历史记录的一部分(存储库,“提交目录”) git rm --cached - 从暂存区域中删除,但不是工作目录和历史记录 git add .  在存在修改,新文件和已删除文件的情况下 -  git会在缓存中记录修改和新的未经排版的文件。  ( git add行为与某些选项有所不同。)   对各种git命令的--cached选项会使它们在索引上运行,或者至少在索引上运行。 
  git add和git rm将工作目录中的更改记录到索引或缓存中。  把这些命令看作是一次构建你的下一部分。 
  在对索引中的内容感到满意之后,使用git commit将索引中的更改移动到存储库。 
  大多数时候,你想要的是简单的序列git rm file随后git commit在你的历史当前点停止跟踪文件。 
上一篇: When should I use rm, git rm, git rm
下一篇: Maintaining multiple branches of the same base project in VS
