一千萬個為什麽

搜索

如何在不刪除內容的情況下取消大量文件

I accidentally added a lot of temporary files using 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

您的更改將無法使用,隨時可以重新添加。


DO NOT RUN git reset --hard.

它不僅會取消暫存您添加的文件,還會還原您在工作目錄中所做的任何更改。如果您在工作目錄中創建了任何新文件,則會刪除它們。

轉載註明原文: 如何在不刪除內容的情況下取消大量文件