rm, git rm, git rm --cached 区别与关系

HEAD, staging area, working copy在上篇《Git命令之回退篇 git revert git reset》已经讲过,不明白请自行传送过去。

1. rm

  1. 是仅仅删除working directory里的文件,但若需要删除staging area和HEAD上的文件,需要先执行git add, 然后执行git commit -m "delete xxx";

  2. 或者直接执行一句 git commit -am "delete xxx" ,多加一个"-a"参数,这个参数的功能之一就是将working directory里删除的文件从staging area中删除.

2. git rm

  1. 相当于rm + git add, 即working directory和staging area中都删除了该文件

  2. 若想推到本地repository只需git commit -m "delete xxx"即可

  3. 若想推到远程repository只需git push

3. git rm --cached

  1. 保留本地文件,仅仅删除staging area中的文件,停止跟踪该文件的变化

  2. 在commit的之后repository里也会删除该文件,不再跟踪

猜你喜欢

转载自www.cnblogs.com/taylorluo/p/10800580.html
rm