撤销与恢复 Pro Git · 2.4 / 7.6

命令说明
git restore <文件>丢弃工作区未暂存改动(不可恢复,慎用)
git restore --staged <文件>移出暂存区(保留改动)
git restore --source=<提交> <文件>把文件恢复成某次提交时的内容
git commit --amend修补最后一次提交(改信息 / 补文件)
git revert <提交>生成反向提交撤销历史提交(已推送时用这个)
git clean -n预览将被删除的未跟踪文件(-fd 才真删)
git checkout <提交> -- <文件>传统写法:从历史提交取出文件到工作区和暂存区
git reset <文件>默认 mixed 模式的单文件版:把文件移出暂存区
git revert --no-commit <提交>撤销但不立即提交,可连续撤销多个后一并提交
git clean -x -d -n深度清理预览:连被忽略的文件、空目录一起列出
reset 模式HEAD暂存区工作区典型用途
git reset --soft HEAD~1回退保留保留撤销提交,重新组织后再提
git reset --mixed HEAD~1(默认)回退清空保留撤销提交,重新选择要暂存的内容
git reset --hard HEAD~1回退清空丢弃彻底回到上一提交(危险)
注意:已推送的共享提交用 git revert 撤销,不要用 reset 改写历史。