git-reset vs git-clean之间的区别



到底有什么区别?

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

我不在乎 .gitignore-ed 文件。

如果要

放弃所有未提交的更改:

git reset --hard head

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

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

git clean -dxf

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

git-reset

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

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

git-clean

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

最新更新