4

究竟有什么区别?

我的目标是将工作树完全恢复到“没有更改”时的状态 - 没有修改或删除,没有新的未跟踪文件,什么都没有。

我不关心 .gitignore-ed 文件。

4

2 回答 2

9

如果要丢弃所有未提交的更改:

git reset --hard head

这基本上会将 Git 知道的所有文件恢复到上次提交的状态。

如果要删除 Git 不知道的所有文件:

git clean -dxf

这将删除所有被忽略或未跟踪的内容。

于 2013-10-22T14:40:53.197 回答
5
git-reset

将当前 HEAD 重置为指定状态。

例如:git reset --hard HEAD^- 这将删除顶部提交

git-clean

用于从工作目录中删除未跟踪的文件/目录

于 2013-10-22T14:38:02.367 回答