首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该什么时候使用rm,git rm,git rm -缓存,git添加

我应该什么时候使用rm,git rm,git rm -缓存,git添加
EN

Stack Overflow用户
提问于 2016-05-17 14:56:38
回答 1查看 29K关注 0票数 15

我正在学习git,但我对不同的文件分期和提交方式感到困惑。为了解决这个问题,我使用了一个目录的隐喻:工作目录、临时目录、提交目录。

  • 如果我从我的工作目录中删除一个文件,它只会从我的工作目录中删除它。对不对?
  • 如果我从我的工作目录中删除一个文件,它将从所有三个目录中删除它。对,是这样?
  • 如果我git rm --cached一个文件,它将从我的分阶段目录和提交目录中删除该文件,但将它保留在我的工作目录中?
  • 如果我已从工作目录中更新、添加和删除了文件,并执行了git add .操作,则git status将显示已添加、删除和更新的阶段性文件。当我犯罪时会发生什么?是否将已删除的文件从提交目录中删除?如果我稍后回滚到提交,这些被删除的文件会重新出现吗?

任何帮助,以更好地理解这些概念,将不胜感激-thanks!

EN

回答 1

Stack Overflow用户

发布于 2016-05-17 15:18:48

调整对暂存区域(也称为索引或缓存)和--cached选项的理解。git rm

--缓存 使用此选项仅从索引中取消和删除路径。无论修改与否,工作树文件都将被单独保存。

列出你的列表

  • rm file -仅从工作目录中删除文件
  • git rm -从工作目录和暂存区域删除文件,但还不是历史记录的一部分(存储库,“提交目录”)
  • git rm --cached -从暂存区域移除工作目录和历史记录
  • 在存在修改、新文件和已删除文件的情况下,git add .将在缓存中记录修改和新的unignored文件。(对于某些选项,git add的行为将有所不同。)

各种git命令的--cached选项会使它们对索引进行操作,或者至少对索引进行操作。

git addgit rm从工作目录到索引或缓存进行更改。将这些命令看作是一次构建下一个提交部分。

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

大多数情况下,您需要的是简单的序列git rm file,然后是git commit,以便在历史记录的当前点停止跟踪文件。

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37279654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档