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

git add myfile.txt

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


当前回答

此命令将卸载您的更改 :

git reset HEAD filename.txt

您也可以使用

git add -p 

以添加文件的部分。

其他回答

为了澄清:git add将当前工作目录的更改移动到中转区(索引)。

此进程被称为此进程中 中 中。因此,最自然的命令阶段更改(已修改的文件)是显而易见的:

git stage

git add是一个简单到类型化的别名git stage

可惜没有git unstagegit unadd命令。相关命令更难猜或记,但很明显:

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 rm --cached FILE

使用 rm -- -- 刻录仅用于新文件不小心添加 。

此命令将卸载您的更改 :

git reset HEAD filename.txt

您也可以使用

git add -p 

以添加文件的部分。

撤消撤消已经添加的文件使用 Git 很容易。 用于重设myfile.txt已经添加的,使用:

git reset HEAD myfile.txt

解释:

启动不需要的文件后,要撤消文件,您可以完成git reset. Head是在本地文件中您文件的头,而最后一个参数是您文件的名称。

我为你们创建了以下图像中的步骤, 更详细地介绍了这些步骤, 包括在这些情况下可能发生的所有步骤:

git reset HEAD file

您可以使用g基基边命令或图形用户界面 Git 。

单个文件

git reset File.txt

多个文件

git reset File1.txt File2.txt File3.txt

示例示例示例示例

假设你添加了Home.js 居家公居, 项目表.js, 最新情况.js犯错,

Enter image description here

并要撤消/重置

git reset src/components/home/Home.js src/components/listItem/ListItem.js src/components/update/Update.js

Enter image description here

同一例子使用Git 图形界面

git gui

打开窗口。不检查您的文件分阶段变化(将承诺)

Enter image description here