我正在学习git,但我对不同的文件分期和提交方式感到困惑。为了解决这个问题,我使用了一个目录的隐喻:工作目录、临时目录、提交目录。
git rm --cached一个文件,它将从我的分阶段目录和提交目录中删除该文件,但将它保留在我的工作目录中?git add .操作,则git status将显示已添加、删除和更新的阶段性文件。当我犯罪时会发生什么?是否将已删除的文件从提交目录中删除?如果我稍后回滚到提交,这些被删除的文件会重新出现吗?任何帮助,以更好地理解这些概念,将不胜感激-thanks!
发布于 2016-05-17 15:18:48
调整对暂存区域(也称为索引或缓存)和--cached选项的理解。git rm态
--缓存 使用此选项仅从索引中取消和删除路径。无论修改与否,工作树文件都将被单独保存。
列出你的列表
rm file -仅从工作目录中删除文件git rm -从工作目录和暂存区域删除文件,但还不是历史记录的一部分(存储库,“提交目录”)git rm --cached -从暂存区域移除工作目录和历史记录git add .将在缓存中记录修改和新的unignored文件。(对于某些选项,git add的行为将有所不同。)各种git命令的--cached选项会使它们对索引进行操作,或者至少对索引进行操作。
git add和git rm从工作目录到索引或缓存进行更改。将这些命令看作是一次构建下一个提交部分。
在您满意索引中的内容之后,使用git commit将更改从索引移到存储库。
大多数情况下,您需要的是简单的序列git rm file,然后是git commit,以便在历史记录的当前点停止跟踪文件。
https://stackoverflow.com/questions/37279654
复制相似问题