ChatGPT解决这个技术问题 Extra ChatGPT

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

这个问题在这里已经有了答案:从 Git 存储库中删除文件而不从本地文件系统中删除它(13 个答案) 8 年前关闭。

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

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

从以前的提交或最后一个提交中删除它?
@Nick D.这个问题让它打开。

M
MichaelChirico
git rm --cached file

应该做你想做的。

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


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

我尝试尝试给出的答案。我个人的发现是:

git rm -r --cached .

接着

git add .

这似乎使我的工作目录变得干净整洁。您可以将您的文件名放在点的位置。


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