我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没跑呢git commit
。我如何撤销这些修改,使这些修改不包含在承诺中?
我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没跑呢git commit
。我如何撤销这些修改,使这些修改不包含在承诺中?
当前回答
git add myfile.txt
# 这将将您的文件添加到待发列表中
与这个命令完全相反的是,
git reset HEAD myfile.txt # This will undo it.
因此,您将处于上一个状态。指定的状态将再次出现在未跟踪的列表中(先前的状态)。
它会用指定的文件重置你的头。 所以, 如果您的头没有它意味着, 它只会重置它 。
其他回答
您可以使用g基基边命令或图形用户界面 Git 。
单个文件
git reset File.txt
多个文件
git reset File1.txt File2.txt File3.txt
假设你添加了Home.js 居家公居, 项目表.js, 最新情况.js犯错,
并要撤消/重置
git reset src/components/home/Home.js src/components/listItem/ListItem.js src/components/update/Update.js
同一例子使用Git 图形界面
git gui
打开窗口。不检查您的文件分阶段变化(将承诺)
使用*
命令一次处理多个文件 :
git reset HEAD *.prj
git reset HEAD *.bmp
git reset HEAD *gdb*
等
还有一个互动模式:
git add -i
选择 选项 3 到 取消 添加文件 。 在我的情况中, 我通常要添加多个文件, 用交互模式, 您可以使用这样的数字来添加文件 。 这将除 4: 1, 1, 2, 3, 和 5 以外, 全部要用这个数字来添加文件 : 1, 2, 3 和 5
要选择一个序列, 只要类型 1-5 就可以从 1 到 5 全部取出 。
您可以在 Git 2. 23 版本后使用此命令 :
git restore --staged <filename>
或者,你可以使用这个命令:
git reset HEAD <filename>
git reset filename.txt
将删除命名的文件filename.txt
从当前索引(也称为“存储区域”,即“即将实施”的改动”被保存的地方)中取出,不作任何其他改动(工作目录没有被覆盖)。