Git常用命令体系化笔记
Git 命令很多,但高频场景其实比较稳定。本文不追求“命令大全”,而是按研发流程整理一套可扩展的 Git 使用体系,方便后续持续补充。
一、先建立心智模型:三个区域
- Working Tree:本地改动区
- Index (Staging Area):暂存区
- Repository:提交历史
多数命令都可以归类为:
- 在三个区域之间搬运内容
- 在分支之间组织历史
- 与远端仓库同步
二、日常开发主流程(推荐)
1) 拉取最新代码
1 | git checkout master |
目的:把本地主干更新到最新状态。
2) 切分支开发
1 | git checkout -b feature/login-audit |
目的:把功能改动和主干隔离。
3) 提交本地改动
1 | git status |
建议:提交信息遵循团队规范(如 feat/fix/refactor)。
4) 同步主干并整理历史(rebase)
1 | git fetch origin |
目的:把当前分支“平移”到最新主干之上,减少无意义 merge commit。
常见冲突处理:
1 | # 解决冲突后 |
5) 推送远端
1 | git push -u origin feature/login-audit |
如果 rebase 过且远端已有旧历史,通常需要:
1 | git push --force-with-lease |
说明:优先使用 --force-with-lease,比 --force 更安全。
三、核心命令按场景归类
A. checkout / switch:切换上下文
1 | git checkout <branch> |
用途:切分支、创建并切换分支。
B. branch:管理分支
1 | git branch |
-d:仅删除已合并分支-D:强制删除(谨慎)
C. pull / fetch:同步远端
1 | git fetch origin |
fetch:只下载,不自动合并pull:fetch + merge/rebase
D. rebase:重放提交,整理线性历史
1 | git rebase origin/master |
- 普通 rebase:追主干
- 交互式 rebase:压缩/改写最近提交
E. push:发布变更
1 | git push |
-u:建立本地分支和远端分支跟踪关系--force-with-lease:改写历史后的安全推送
四、常见“翻车点”与规避建议
1) 在错误分支上开发
症状:改完才发现不在目标分支。
建议:每次改动前先执行 git branch --show-current。
2) 直接用 force push 覆盖队友提交
建议:只在自己分支使用 --force-with-lease,避免 --force。
3) pull 之后出现复杂 merge
建议:优先 fetch + rebase,保持历史更清晰。
4) 删除分支前未确认是否合并
建议:优先 git branch -d,确有必要再 -D。
五、可扩展模板(后续新增命令时直接复用)
后续如果要补充新命令(如 cherry-pick、reset、stash、reflog),建议按以下模板追加:
命令名
- 定位:它解决什么问题
- 常用写法:1~3 条
- 典型场景:什么时候用
- 风险点:最容易误用的地方
- 配套命令:通常和哪些命令组合
这样可以把文章长期维护成“可操作的 Git 作战手册”,而不是一次性清单。
六、个人最小命令集合(每天够用)
1 | git checkout <branch> |
如果你只先记住这一组,已经能覆盖大多数研发场景。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments





