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

git add myfile.txt

我还没有执行 git 承诺 。 我如何撤销此操作, 使这些更改不被包含在承诺中 ?


当前回答

git rm --cached . -r

将“ un- add- add” 添加您从当前目录中添加的所有内容递归到当前目录

其他回答

要澄清: git 添加从当前工作目录向中转区域( index) 移动到中转区域( index) 的移动 。

这个过程叫做中转。 因此,最自然的指令是 进行修改( 更改过的文件) 。 显而易见的是 :

git stage

git 添加只是 Git 阶段的一种更容易到类型化的别名

可惜没有非舞台或不添加命令。 相关命令更难猜测或记住, 但显而易见:

git reset HEAD --

我们可以很容易地为此创建别名:

git config --global alias.unadd 'reset HEAD --'
git config --global alias.unstage 'reset HEAD --'

最后,我们有了新的命令:

git add file1
git stage file2
git unadd file2
git unstage file1

我个人甚至使用更短的化名:

git a # For staging
git u # For unstaging

要撤销 git 添加, 请使用 :

git reset filename

要重置特定文件夹( 及其子文件夹) 中的每一文件, 您可以使用以下命令 :

git reset *

如果您在初始承诺中且无法使用 Git 重设, 请声明“ 破产” 并删除. git 文件夹并重新开始

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

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

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

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

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