是否有可能取消git中最后一个暂存(未提交)的更改?假设当前分支中有很多文件,有些是阶段性的,有些不是。在某个时刻,某个愚蠢的程序员不小心执行了:
git add -- .
...而不是:
git checkout -- .
这个程序员现在可以用一些神奇的git命令取消他最后的更改吗?或者他应该在一开始尝试之前就做出承诺?
是否有可能取消git中最后一个暂存(未提交)的更改?假设当前分支中有很多文件,有些是阶段性的,有些不是。在某个时刻,某个愚蠢的程序员不小心执行了:
git add -- .
...而不是:
git checkout -- .
这个程序员现在可以用一些神奇的git命令取消他最后的更改吗?或者他应该在一开始尝试之前就做出承诺?
当前回答
你可以使用git重置。这将“取消”你上次提交后添加的所有文件。
如果你只想取消一些文件,使用git reset——<file 1> <file 2> <file n>。
此外,还可以使用git reset -p取消文件中的一些更改。
其他回答
你不能撤销最新的git添加,但是你可以撤销自上次提交以来的所有添加。Git reset不带commit参数会重置索引(取消阶段性变化):
git reset
我建议使用:
Git rm -r——cached <your_dir>或Git rm——cached <your_file>
它会还原你的
git add <your_dir_or_your_file>
回去,同时保持文件原样。
你可以使用git重置(见文档)
在date git提示:
如果文件不在repo中,使用"git rm——cached <file>…"它会取消文件,把它们保存在那里。 使用“git reset HEAD <file>…”如果文件在repo中,则取消阶段,并按修改后的方式添加它们。它保持文件原样,并取消它们的阶段。
据我所知,您无法撤消git add—但您可以取消上面提到的文件列表。
你可以使用git重置。这将“取消”你上次提交后添加的所有文件。
如果你只想取消一些文件,使用git reset——<file 1> <file 2> <file n>。
此外,还可以使用git reset -p取消文件中的一些更改。