我不小心使用 git add -A
添加了很多临时文件。
我通过以下命令成功取消了文件的暂存,并成功删除了脏索引。
git ls-files -z | xargs -0 rm -f
git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
以上命令在 git help rm
中列出。但遗憾的是,尽管我给出了缓存选项,但文件还是被删除了。我该如何清除索引而不丢失内容?
如果有人能解释一下这个管道操作的工作原理,那将非常有帮助。
git reset
如果你只想撤销对 "git add" 命令的过度使用,可以执行以下命令:
git reset
这会使你的更改取消暂存,并准备好重新添加。
不要运行 git reset --hard
命令。
它不仅会取消暂存已添加的文件,还会还原你在工作目录中所做的任何更改。如果你在工作目录中创建了任何新文件,它不会删除它们。