发布于 2026-03-16 · 更新于 2026-03-16Git 是开发者每天都在用的工具,但命令多、参数杂,记不住很正常。 这篇速查按使用场景分类,每个命令附带 Oh My Zsh 的 git 插件别名(括号内),让你少敲很多字。
前提:你的.zshrc里需要启用 git 插件:plugins=(... git)
基础概念:三个区域
Git 的文件在三个区域之间流转,理解了这个,后面所有命令都好懂:初始化与配置
SSH 密钥配置
用 HTTPS 每次推送都要输密码,配置 SSH 密钥后就能免密操作。1. 检查是否已有密钥
2. 生成密钥
推荐用 Ed25519:比传统 RSA 更安全、更快、密钥更短。GitHub 已屏蔽旧版 RSA/SHA-1 签名。
- 建议自定义文件名(如
~/.ssh/github_ed25519),避免多个服务的密钥互相覆盖 - 密码(passphrase)可以直接回车留空,设了的话每次 push 都要输
3. 添加到 ssh-agent
~/.ssh/config 中配置自动加载,省得每次手动添加:
4. 添加公钥到 GitHub
5. 验证连接
多账号配置
如果你有多个 GitHub 账号(比如个人 + 公司),需要在~/.ssh/config 中用 Host 别名区分:
github.com 换成别名:
日常提交三连
最核心的操作流程:改代码 → 暂存 → 提交。暂存文件
提交
查看变更
分支操作
分支是 Git 的核心杀手锏,随便开、随便切、合完就删。查看与创建
删除与重命名
远程操作
拉取
推送
获取
合并与变基
暂存工作(Stash)
手头写了一半要切分支?stash 帮你把改动暂时藏起来。撤销与回退
这是最容易搞混的部分。记住一个原则:先确认影响范围,再操作。撤销暂存
撤销修改
回退提交
安全提示:reset --hard会丢失未提交的修改,用前三思。优先用revert来安全地撤销已推送的提交。
查看历史
标签
WIP 快捷流程
Oh My Zsh 提供了一套”半成品保存”流程,切分支前用gwip,回来用 gunwip:
