什么时候应该使用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 addgit rm将工作目录中的更改记录到索引或缓存中。 把这些命令看作是一次构建你的下一部分。

    在对索引中的内容感到满意之后,使用git commit将索引中的更改移动到存储库。

    大多数时候,你想要的是简单的序列git rm file随后git commit在你的历史当前点停止跟踪文件。

    链接地址: http://www.djcxy.com/p/23387.html

    上一篇: When should I use rm, git rm, git rm

    下一篇: Maintaining multiple branches of the same base project in VS