如何在不从磁盘中删除文件的情况下 git rm 文件? [复制]

Posted

技术标签:

【中文标题】如何在不从磁盘中删除文件的情况下 git rm 文件? [复制]【英文标题】:How do I git rm a file without deleting it from disk? [duplicate] 【发布时间】:2010-11-19 09:00:59 【问题描述】:

该命令删除我系统中的文件。我的意思是只从 Git 存储库中删除文件。

如何在不删除系统中的文件的情况下从 Git 存储库中删除文件?

【问题讨论】:

从以前的提交中删除它还是从最后一个提交中删除? @Nick D. 这个问题让它打开。 【参考方案1】:
git rm --cached file

应该做你想做的。

您可以在git help rm阅读更多详细信息

【讨论】:

我是 Git 新手,但我已经这样做了几次,然后当其他人从存储库中提取时,他们的本地文件被删除。仍在寻找是否可以不从下一个拉动的开发人员中删除。 @Terry,见***.com/questions/2604625/… 令我困惑的是 git-rm 的手册页说它不会从您的工作目录中删除文件。但是当我不使用 --cached 时,我看到的是文件被删除了。 @gran_profaci 这大概是因为git rm 有一个-r 标志来指示当你给它一个像. 这样的目录名称时递归删除。这不是事物是否会被标记为删除的问题,而是哪些(或任何)事物的问题。 --cached 实际上并没有删除任何内容。它只是将其标记为已完成。 我刚刚测试了这个,它确实从磁盘中删除了文件【参考方案2】:

我尝试对给出的答案进行试验。我个人的发现是:

git rm -r --cached .

然后

git add .

这似乎使我的工作目录变得干净整洁。你可以用你的文件名代替点。

【讨论】:

+1 -r:在给出前导目录名称时允许递归删除。 -r 如果你做 *.suffix 则不需要(很难发现这种行为非常令人不安) -r 是需要的目录。

以上是关于如何在不从磁盘中删除文件的情况下 git rm 文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

git rm 几个文件?

如何在不从 DataFrame 转换并访问它的情况下将列添加到 Dataset?

如何在不删除内容的情况下取消暂存大量文件

如何在不使用 PHP 将文件写入磁盘的情况下将文件发布到 REST 服务器?

如何在不删除任何文件的情况下从跟踪中分离文件夹?

如何在不从参考节点获取所有数据的情况下获取 Firebase 数据库中的随机键?