1、文件在暂存区且未作修改的情况
使用git restore --staged <file> 把文件从暂存区移动到工作区,即文件不被追踪;
2、文件在暂存区且已经修改的情况
使用git restore --staged <file> 把文件从暂存区移动到工作区,且不会撤销修改的内容;
使用git restore <file> 文件仍在暂存区且会撤销文件修改的内容;
3、文件在本地代码库已经修改的情况
使用git add <file> 把文件重新放到暂存区,且保留文件的修改;
使用git restore <file> 文件仍在本地代码库且会撤销文件的修改;
对于git restore <file>命令,会撤销文件的修改,使文件恢复到暂存区或本地代码库(取决于文件在修改前的状态);
对于git restore --staged <file>命令,把文件从暂存区撤回到工作区,保留文件最后一次修改的内容;
另外:git rm --cached XX:删除暂存区文件,但保留工作区的文件,并且将这次删除放入暂存区