git Cheatsheet
Git 常用命令速查表
Git 常用命令一页速查:add/commit/stash 暂存、branch/switch/merge/rebase 分支管理、reset/revert/reflog 回退救火、remote/fetch/push 远程操作,覆盖日常协作与提交搞乱后的救火场景。
把 Git 日常协作和救火最常用的命令按提交、分支、回退、远程和排查分组,commit 写错或分支搞乱时按组找解法。
提交与暂存
- 简洁查看工作区状态
git status -s - 逐块选择要暂存的改动
git add -p - 提交暂存区改动
git commit -m "msg" - 修改最后一次提交(信息或内容)
git commit --amend - 临时收起改动,切分支救火用
git stash - 恢复最近一次 stash 的改动
git stash pop
分支与合并
- 列出本地和远程分支
git branch -a - 创建并切换到新分支(新写法)
git switch -c feat/x - 合并分支并保留合并提交
git merge --no-ff feat/x - 把当前分支变基到 main,保持线性历史
git rebase main - 挑选单个提交应用到当前分支
git cherry-pick <sha>
回退与撤销
- 丢弃工作区文件改动(新写法)
git restore <file> - 把文件移出暂存区,保留改动
git restore --staged <file> - 撤销最后一次提交,保留改动在暂存区
git reset --soft HEAD~1 - 彻底丢弃最后一次提交和改动,慎用
git reset --hard HEAD~1 - 生成反向提交撤销某次改动,安全可推共享分支
git revert <sha>
远程与排查
- 查看远程仓库地址
git remote -v - 拉取远程并清理已删除的远程分支引用
git fetch --prune - 图形化查看提交历史
git log --oneline --graph - 查看 HEAD 移动记录,误操作后找回提交的救命稻草
git reflog - 逐行查看代码最后修改人和提交
git blame <file>
容易踩的坑
- reset --hard 会丢弃改动,执行前确认;真丢了用 git reflog 找回。
- 已推送到共享分支的提交用 revert 撤销,不要 reset 后强推,否则坑队友。
- switch/restore 是较新的命令,比 checkout 语义更清晰,老脚本仍可用 checkout。