我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没跑呢git commit
。我如何撤销这些修改,使这些修改不包含在承诺中?
我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没跑呢git commit
。我如何撤销这些修改,使这些修改不包含在承诺中?
当前回答
git add -A
用于将所有文件添加到您的承诺( 阶段) 。
git reset
是“ git 添加 - A” 命令的对面。它会删除所有要执行的分阶段文件( 手段已准备就绪 ) 。
同样,为了添加一个用于承诺的具体文件,我们使用git add <filename>
相同的方式, to unstage( 或重置) 一个我们添加的具体文件git add
我们使用git reset <filename>
.
git 重置与 git 添加完全相反 。
其他回答
根据其他许多答案,你可以使用git reset
不过:
我发现这个小小小文章, 实际上增加了Git 命令(别名),git unadd
:见git 取消添加详细信息或... 。
简而言之
git config --global alias.unadd "reset HEAD"
现在你可以
git unadd foo.txt bar.txt
或/直接:
git reset HEAD foo.txt bar.txt
git add myfile.txt
# 这将将您的文件添加到待发列表中
与这个命令完全相反的是,
git reset HEAD myfile.txt # This will undo it.
因此,您将处于上一个状态。指定的状态将再次出现在未跟踪的列表中(先前的状态)。
它会用指定的文件重置你的头。 所以, 如果您的头没有它意味着, 它只会重置它 。
只是类型git reset
它将复返,犹如你从未打过字一样。git add .
自从你最后一次承诺之后,你一定要保证你以前的承诺。
撤消撤消git add
用于未承诺更改的更改 :
git reset <file>
这将将文件从当前索引( “ 即将被承诺” 列表) 中删除, 而不更改其它内容 。
取消所有文件的所有更改 :
git reset
在旧的 Git 版本中,上述命令相当于git reset HEAD <file>
和git reset HEAD
或将失效,如果HEAD
未定义(因为你尚未在仓库中做出任何承诺)或模糊(因为你创建了一个分支,称为:HEAD
这是你不该做的蠢事在Git 1.8.2中更改。,所以在现代版本的 Git 中,你可以使用上面的命令,甚至在你第一次做出承诺之前:
当您在历史中没有任何承诺时, “ 将重置” (没有选项或参数) 用于错误退出, 但它现在给了您一个空索引( 匹配不存在的重置, 您甚至没有在 ) 。
文 件:git 重设
git reset filename.txt
将会从当前索引“ 即将被执行” 区域中删除一个名为文件名. txt 的文件, 而不更改其它内容 。