究竟有什么区别?
我的目标是在工作树“无变化”时完全恢复到状态 - 没有修改或删除,没有新的未跟踪文件,没有。
我不关心.gitignore-ed文件。
答案 0 :(得分:5)
git-reset
将当前HEAD重置为指定状态。
例如:git reset --hard HEAD^
- 这将删除顶部提交
git-clean
用于从工作目录中删除未跟踪的文件/目录
答案 1 :(得分:4)
如果您要放弃所有未提交的更改:
git reset --hard head
这将基本上恢复Git知道的最后一个提交状态的所有文件。
如果你想删除Git不知道的所有文件:
git clean -dxf
这将删除所有被忽略或未被跟踪的内容。