我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没跑呢git commit
。我如何撤销这些修改,使这些修改不包含在承诺中?
我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没跑呢git commit
。我如何撤销这些修改,使这些修改不包含在承诺中?
当前回答
git reset filename.txt
将会从当前索引“ 即将被执行” 区域中删除一个名为文件名. txt 的文件, 而不更改其它内容 。
其他回答
根据其他许多答案,你可以使用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 .
,或git add <file>
.你想怎样:
从索引中删除文件, 但保留其版本, 并保留工作副本中未承诺的更改 :
git reset HEAD <file>
从 HEAD 将文件重置为最后一个状态, 撤消更改并将其从索引中删除 :
# Think `svn revert <file>` IIRC.
git reset HEAD <file>
git checkout <file>
# If you have a `<branch>` named like `<file>`, use:
git checkout -- <file>
之所以需要这样做,是因为git reset --hard HEAD
单项文件不会工作。
删除删除<file>
从索引和版本中创建, 保留未翻过的文件, 更改工作副本 :
git rm --cached <file>
删除删除<file>
从工作副本和版本完全版本中产生 :
git rm <file>
如上文所述,从中转区删除新文件(仅在出现新文件的情况下):
git rm --cached FILE
使用 rm -- -- 刻录仅用于新文件不小心添加 。
运行运行中
git gui
,然后手动删除所有文件,或者选择全部文件,然后单击实施后的非阶段按钮。