Git 命令速查表 - Git 常用命令大全
Git 日常协作和救火最常用的命令都在这里了,按提交、分支、回退、远程和排查分组,commit 写错或分支搞乱时按组找解法。
返回 版本控制提交与暂存 6
git status -s简洁查看工作区状态
git add -p逐块选择要暂存的改动
git commit -m "msg"提交暂存区改动
git commit --amend修改最后一次提交(信息或内容)
git stash临时收起改动,切分支救火用
git stash pop恢复最近一次 stash 的改动
分支与合并 5
git branch -a列出本地和远程分支
git switch -c feat/x创建并切换到新分支(新写法)
git merge --no-ff feat/x合并分支并保留合并提交
git rebase main把当前分支变基到 main,保持线性历史
git cherry-pick <sha>挑选单个提交应用到当前分支
回退与撤销 5
git restore <file>丢弃工作区文件改动(新写法)
git restore --staged <file>把文件移出暂存区,保留改动
git reset --soft HEAD~1撤销最后一次提交,保留改动在暂存区
git reset --hard HEAD~1彻底丢弃最后一次提交和改动,慎用
git revert <sha>生成反向提交撤销某次改动,安全可推共享分支
远程与排查 5
git remote -v查看远程仓库地址
git fetch --prune拉取远程并清理已删除的远程分支引用
git log --oneline --graph图形化查看提交历史
git reflog查看 HEAD 移动记录,误操作后找回提交的救命稻草
git blame <file>逐行查看代码最后修改人和提交
常见问题 FAQ 5
Q: 如何撤销上一次提交?A: git reset --soft HEAD~1 撤销提交但保留改动在暂存区;git reset --hard HEAD~1 彻底丢弃(慎用)。已推送的提交用 git revert <sha>。
Q: git merge 和 git rebase 有什么区别?A: merge 保留分支历史(生成合并提交),适合公共分支;rebase 线性化提交历史(重写提交),适合个人分支整理。
Q: 如何修改上一次提交的信息?A: git commit --amend 修改最后一次提交的 message 或内容。如果已推送,需 git push --force-with-lease,注意团队协作安全。
Q: 如何暂存未完成的修改?A: git stash 临时收起工作区改动,切分支救火后 git stash pop 恢复。git stash list 查看所有 stash。
Q: 如何解决合并冲突?A: 冲突文件会标记 <<<<<<< HEAD 和 >>>>>>> branch,手动编辑后 git add <file> 标记已解决,再 git commit 完成合并。
💡 提示
- reset --hard 会丢弃改动,执行前确认;真丢了用 git reflog 找回。
- 已推送到共享分支的提交用 revert 撤销,不要 reset 后强推,否则坑队友。
- switch/restore 是较新的命令,比 checkout 语义更清晰,老脚本仍可用 checkout。
由 LaoHand 维护
公开更新于 2026年7月21日,内容持续校对官方文档。