rm, git rm, git rm --cached 区别与关系
HEAD, staging area, working copy在上篇《Git命令之回退篇 git revert git reset》已经讲过,不明白请自行传送过去。
1. rm
-
是仅仅删除working directory里的文件,但若需要删除staging area和HEAD上的文件,需要先执行git add, 然后执行git commit -m "delete xxx";
-
或者直接执行一句 git commit -am "delete xxx" ,多加一个"-a"参数,这个参数的功能之一就是将working directory里删除的文件从staging area中删除.
2. git rm
-
相当于rm + git add, 即working directory和staging area中都删除了该文件
-
若想推到本地repository只需git commit -m "delete xxx"即可
-
若想推到远程repository只需git push
3. git rm --cached
-
保留本地文件,仅仅删除staging area中的文件,停止跟踪该文件的变化
-