在SVN上,直接从文件系统中删除某些内容(而不是使用SVN)会带来许多令人头痛的问题。
在使用git时,我没有发现这是一个问题,但我注意到git有自己的rm实现(git rm)。
rm和git rm有什么区别?
在SVN上,直接从文件系统中删除某些内容(而不是使用SVN)会带来许多令人头痛的问题。
在使用git时,我没有发现这是一个问题,但我注意到git有自己的rm实现(git rm)。
rm和git rm有什么区别?
当前回答
除了Andy的回答,git rm还有一个额外的实用程序:
安全性:当使用git rm而不是rm时,如果文件的HEAD版本与暂存索引或工作树版本之间存在差异,git将阻止删除。此块是一种安全机制,用于防止删除正在进行的更改。 保卫:git rm—演练。该选项是一种保护措施,它将执行git rm命令,但不会实际删除文件。相反,它将输出将要删除的文件。
其他回答
然而,如果你最终使用rm而不是git rm。你可以跳过git添加,直接使用以下命令提交更改:
Git提交-a
当使用git rm时,删除将是你下次提交的一部分。因此,如果您想要推动更改,您应该使用git rm
除了Andy的回答,git rm还有一个额外的实用程序:
安全性:当使用git rm而不是rm时,如果文件的HEAD版本与暂存索引或工作树版本之间存在差异,git将阻止删除。此块是一种安全机制,用于防止删除正在进行的更改。 保卫:git rm—演练。该选项是一种保护措施,它将执行git rm命令,但不会实际删除文件。相反,它将输出将要删除的文件。
Git rm将从索引和工作目录中删除文件(如果使用——cached,则只删除索引),以便在下次提交时执行删除操作。
如果你只使用rm,你将需要跟随git add <fileRemoved>。Git rm一步完成。
你也可以使用git rm——cached,它将从索引中删除文件(在下次提交时暂存它以便删除),但将副本保留在本地文件系统中。