用途:当用户需要撤销、回退或从 Git 失误中恢复时使用,例如误提交到错误分支、需要撤销提交(推送前后)、误删分支或文件、恢复丢失提交、撤销合并、误提交敏感数据等。
主要能力:按场景给出命令参考,包括撤销最后一次提交并保留改动(git reset --soft HEAD~1)、丢弃改动(git reset --hard HEAD~1)、撤销文件改动(git checkout -- <file>)、取消暂存(git reset HEAD <file>)、撤销已推送提交(git revert <commit>)、恢复已删除分支(git reflog 配合 git checkout -b <branch> <sha>)等。还涵盖把提交移到正确分支(git cherry-pick)、撤销合并(git revert -m 1 <merge-commit-hash>)、处理敏感数据(git rm --cached、git filter-repo)以及彻底重置(git fetch origin、git reset --hard origin/main、git clean -fd)。
使用方式:先判断提交是否已推送,再选择安全方案;未推送可用 reset 系列,已推送优先用 revert 生成新提交。恢复类操作依赖 git reflog 查找历史 HEAD 位置,再通过新建分支或 cherry-pick 找回。危险操作前建议 git stash 或创建备份分支,推送重写历史时使用 git push --force-with-lease。
适用场景:本地或团队仓库中的常见 Git 误操作恢复与历史修正。
限制:reflog 仅本地有效,约保留 90 天;--force 与历史重写会影响共享分支,需与团队协调;reset --hard 会永久丢弃未备份改动。资料未提供安装方式、收费、平台与效果信息。