一尘不染

如何在提交之前撤消“git add”?

git

我错误地使用以下命令将文件添加到 Git:

git add myfile.txt

我还没有跑git commit。有没有办法撤销这个,所以这些文件不会包含在提交中?


阅读 279

收藏
2021-12-30

共1个答案

一尘不染

您可以git add在提交之前撤消

git reset <file>

这将从当前索引(“即将提交”列表)中删除它而不更改任何其他内容。

您可以使用

git reset

没有任何文件名来取消所有应有的更改。当有太多文件需要在合理的时间内一一列出时,这会派上用场。

在旧版本的 Git 中,上面的命令分别等效于git reset HEAD <file>git reset HEAD,如果HEAD未定义(因为您尚未在存储库中进行任何提交)或不明确(因为您创建了一个名为 的分支HEAD,这是一件愚蠢的事情),则会失败你不应该这样做)。不过,这在 Git 1.8.2 中已更改,因此在现代版本的 Git 中,您甚至可以在首次提交之前使用上述命令:

“git reset”(没有选项或参数)用于在您的历史记录中没有任何提交时出错,但它现在为您提供一个空索引(以匹配您甚至不存在的不存在提交)。

文档:git reset

2021-12-30