How do I git rm a file without deleting it from disk?
该命令将删除系统中的文件。我的意思是只从Git存储库中删除文件。
如何在不删除系统中的文件的情况下从Git存储库中删除该文件?
- 从以前的提交中还是从最后一个提交中删除它?
- @尼克D.问题让它公开了。
根据"Git帮助rm",
应该做你想做的。
- 我对Git不熟悉,但我已经做了几次,然后当其他人从存储库中提取时,他们的本地文件会被删除。仍在搜索是否有方法不从执行拉的下一个开发人员中删除。
- @特里,见stackoverflow.com/questions/2604625/…
- 令我困惑的是Git-RM的手册页说它不会从您的工作目录中删除文件。但是当我不使用缓存时,我看到的是文件是重新创建的。
- 等等…如果我这样做:git rm——缓存。它将删除所有显示为"我的Git"状态下要删除的文件?
- @gran_profaci可能会在存储库索引中将当前目录中的所有文件标记为已删除,而不实际从工作树中删除这些文件。
- 当你冒着所有文件被删除的风险时,这可能不是一个好词:)
- @gran profaci the主要是因为git rm有一个-r标志,当您给它一个目录名(如.时,它指示递归删除。问题不在于事物是否会被标记为删除,而在于事物的哪个(或任何)事物。而--cached实际上并没有删除任何内容。它只是把它标记为已经完成了。
- 啊…非常感谢你澄清这一点!非常感谢…
- 我刚测试过这个,它确实从磁盘上删除了文件
我试着用给出的答案进行试验。我的个人发现是:
然后
这似乎使我的工作目录整洁。您可以将文件名替换为点。
- +1 -r:当给定主目录名时,允许递归删除。
- -如果你做了*.suffix,就不需要r(很难发现这种行为,这很令人不安)
- 需要目录的-r。