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

git add myfile.txt

我还没跑呢git commit。我如何撤销这些修改,使这些修改不包含在承诺中?


当前回答

我会用git restore --staged .git restore --staged <filename>

您也可以使用git rm --cached然而,git rm命令应最好用于已跟踪的文件 。

其他回答

git reset filename.txt  

将会从当前索引“ 即将被执行” 区域中删除一个名为文件名. txt 的文件, 而不更改其它内容 。

git add myfile.txt# 这将将您的文件添加到待发列表中

与这个命令完全相反的是,

git reset HEAD myfile.txt  # This will undo it.

因此,您将处于上一个状态。指定的状态将再次出现在未跟踪的列表中(先前的状态)。

它会用指定的文件重置你的头。 所以, 如果您的头没有它意味着, 它只会重置它 。

如果您想要还原最后一个任务, 但仍要保留在任务中本地作出的更改, 请使用此命令 :

git reset HEAD~1 --mixed

也许Git已经进化了 自从你提出问题之后

$> git --version
git version 1.6.2.1

现在,你可以试试:

git reset HEAD .

这应该就是你要找的

对于特定文件 :

  • git 重置我的文件_ file. txt
  • git 检出我的文件. txt

对于所有添加的文件 :

  • git 重置 。
  • Git退房。

注:退出更改文件中的代码, 并移动到上次更新( 承诺) 状态 。重设重置代码不会改变,它只是重置信头。