Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
究竟有什么区别?
我的目标是将工作树完全恢复到“没有更改”时的状态 - 没有修改或删除,没有新的未跟踪文件,什么都没有。
我不关心 .gitignore-ed 文件。
如果要丢弃所有未提交的更改:
git reset --hard head
这基本上会将 Git 知道的所有文件恢复到上次提交的状态。
如果要删除 Git 不知道的所有文件:
git clean -dxf
这将删除所有被忽略或未跟踪的内容。
git-reset
将当前 HEAD 重置为指定状态。
例如:git reset --hard HEAD^- 这将删除顶部提交
git reset --hard HEAD^
git-clean
用于从工作目录中删除未跟踪的文件/目录