在工做中遇到一个问题,使用git add . 想把不少修改文件一块儿加进去,不慎把untrack的文件例如bin/ 下的文件和gen/下的文件等不须要check的文件也加了进去。git
这时若是要执行git reset --hard +SHA1号的话,以前的改动文件都会丢失。缓存
因此能够经过如下命令来撤销掉已经add进去的文件:字体
git rm --cached +文件路径 ->这个命令不会删除物理文件,只是将已经add进缓存的文件删除。it
git rm --f +文件路径 ->这个命令不只将文件从缓存中删除,还会将物理文件删除,因此使用这个命令要谨慎。文件
若删除已经添加缓存的某一个目录下全部文件的话须要添加一个参数 -r。工作
好比我要删除bin下面的已经加入缓存的全部文件,那我须要执行如下命令:参数
git rm -r --cached bin/
执行完毕这些文件就又称为untrack的文件,经过执行git status 能够看到红色的字体的那些文件。