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

git add myfile.txt

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


当前回答

对于特定文件 :

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

对于所有添加的文件 :

  • git 重置 。
  • Git退房。

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

其他回答

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

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

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

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

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

如果你在初始承诺中,你不能使用git reset,只要声明“破产破产”并删除.git文件夹重新开始

运行运行中

git gui

,然后手动删除所有文件,或者选择全部文件,然后单击实施后的非阶段按钮。

更新2019年更新

正如其他人在相关问题中所指出的(见A/CN.9/WG.III/WG.II),在这里, 在这里, 在这里, 在这里, 在这里, 在这里, 和在这里现在可以了取消一个单独的文件与:

git restore --staged <file>

取消所有文件以下列方式写成:

git restore --staged .

Notes

git restore2019年7月以2.23版本发布。
--staged旗帜, 它会恢复索引的内容( 在此询问什么 ) 。

运行时git status与 Saged 未经发送文件一起, Git 现在建议用这个来解开 Page 文件( 而不是git reset HEAD <file>在 v2.23 之前使用过。

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

$> git --version
git version 1.6.2.1

现在,你可以试试:

git reset HEAD .

这应该就是你要找的