非要从原理上去剖析这个东东也没必要,大致知道怎么操作就行了。
 

使用 git rm

提交:

git rm 和 rm 的区别_暂存区

回退:

git rm 和 rm 的区别_暂存区_02

git rm 和 rm 的区别_git_03

直接使用 rm:

提交:

git rm 和 rm 的区别_文件删除_04

回退:

git rm 和 rm 的区别_暂存区_05

简单点说的话,直接使用 rm,回退的时候直接 checkout 就行了,但是 commit 的时候需要先 add;使用 git rm,回退的时候需要 reset HEAD,再 checkout,提交的时候直接 commit 就行了。

git rm 会删除这个文件同时将这个删除的文件放到暂存区中。而 rm 仅仅是将这个文件删除,此时这个文件并不在暂存区中。