如何在不从磁盘中删除文件的情况下 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 文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在不从 DataFrame 转换并访问它的情况下将列添加到 Dataset?