祈灵工具箱

🌿Git 命令速查表 - 按场景查:撤销、分支、变基、储藏

Git 难的不是命令多,是想做的事和命令名对不上:想撤销上一次提交,到底是 reset 还是 revert 还是 restore?所以这份表按场景分组——撤销与后悔药、日常提交、分支合并变基、远程仓库、查历史找问题、临时储藏、清理、配置。每条写清它干了什么、会不会丢改动,点一下就复制。

免费 · 无需注册 · 浏览器本地处理最后更新:

正在加载工具...

如何使用Git 命令速查

  1. 1搜中文场景(撤销、强制推送)或英文命令(rebase)
  2. 2按分组浏览:先看「撤销与后悔药」
  3. 3点命令即可复制,尖括号里的内容记得换成自己的

常见问题

撤销提交到底用哪个?
还没推送:git reset --soft HEAD~1(保留改动,重新提交)。已经推送且别人可能拉过:git revert <commit>,它新建一个反向提交,不改写历史。只想丢掉某个文件的改动:git restore <file>。
提交被我 reset 没了,还能找回来吗?
基本都能。git reflog 列出 HEAD 的每一次移动(默认保留 90 天),找到那条记录的 SHA,再 git reset --hard <sha> 或 git switch -c rescue <sha>。只要没执行过 git gc --prune=now,对象都还在。
merge 和 rebase 选哪个?
合并到共享分支(main)用 merge,保留真实的历史分叉;自己的特性分支要跟上主干用 rebase,历史线性好读。一条底线:已经推送给别人看过的提交不要 rebase,否则对方每次拉取都要解决一堆冲突。
--force 和 --force-with-lease 有什么区别?
--force 无条件覆盖远程分支,如果同事刚推了新提交,直接没了。--force-with-lease 会先检查远程是不是还停在你上次见到的位置,不是就拒绝推送。习惯用后者。