在SVN上,直接从文件系统中删除某些东西(而不是使用svn)会产生一些令人头疼的问题.到目前为止,使用git,我没有发现这是一个问题,但我注意到git有它自己的rm实现.
有区别吗?难道我做错了什么?
And*_*ndy 224
如果你只是使用rm,你需要跟进它git add <fileRemoved>. git rm这是一步到位.
您还可以使用git rm --cached哪个将从索引中删除该文件(在下次提交时将其暂存以进行删除),但将您的副本保留在本地文件系统中.
ham*_*mar 10
删除文件rm本身并不是问题,但是如果你想提交文件被删除,那么你git rm无论如何都要做,所以你也可以这样做.
此外,根据您的shell,git rm删除文件后执行操作,您将无法完成制表符,因此您必须自己拼出路径,而如果您git rm在文件仍然存在时,制表符完成将正常工作.
除了安迪的回答之外,还有以下附加实用程序git rm:
安全性:当使用git rm代替 时rm,如果HEAD文件版本与暂存索引或工作树版本之间存在差异,Git 将阻止删除。此块是一种安全机制,可防止删除正在进行的更改。
保护:git rm --dry-run。此选项是一种安全措施,将执行git rm命令但不会实际删除文件。相反,它将输出它会删除哪些文件。