git rm¶
git rm命令用于从暂存区, 或从工作区和暂存区中删除文件;
git rm无法只从工作区中删除文件而将其保留在暂存区中.
注解
默认情况下, git rm和git rm -f表示从工作区和暂存区中删除指定的文件;
git rm --cached表示只从暂存区中删除指定的文件.
对于当前commit中已经存在, 且在工作区和暂存区中没有对之修改的文件:
- 使用
git rm在工作区和暂存区中删除指定的文件;- 使用
git rm --cached只在暂存区中删除指定的文件.
对于当前commit中已存在, 但是在工作区或暂存区中有所修改的文件:
- 使用
git rm -f强制删除工作区和暂存区中的指定文件;- 使用
git rm --cached只删除暂存区中的指定文件.
对于当前commit中没有的, 新添加的文件:
- 因为
git rm无法只从工作区中删除文件, 所以只在工作区中新添加的文件, 无法也不需要使用git rm删除, 使用rm即可;- 在工作区中新添加, 然后已经添加到暂存区中的新文件, 可以使用
git rm -f强制从工作区和暂存区中删除, 还可以使用git rm --cached只从暂存区中删除.
注解
在git中我们可以通过git rm命令把一个文件删除, 并把它从git的版本库中移除.
但是注意最后要执行git commit才真正提交到git仓库.
rm和git rm¶
使用rm来删除文件, 仅仅是删除了物理文件, 没有将其从git的记录中剔除;
使用git rm来删除文件, 同时还会将这个删除操作记录下来.
例如, 要删除一个文件a.txt, 并将这个删除操作添加到暂存区并随后提交到版本库中:
git rm a.txt
如果使用rm指令的话:
rm a.txt git add a.txt