一、基础认知
1️⃣ Git 是什么
- 分布式版本控制系统(DVCS)
- 本地仓库 vs 远程仓库(如 GitHub)
2️⃣ Git 三大区域(核心概念)
工作区(Working Directory)
暂存区(Staging Area)
本地仓库(Repository)
👉 必须理解,否则后面所有命令都会混乱
3️⃣ 基本状态理解
untracked(未跟踪)
modified(已修改)
staged(已暂存)
committed(已提交)
⚙️ 二、基础命令
1️⃣ 仓库初始化与克隆
bash
git init
git clone
2️⃣ 文件操作流程(最核心)
bash
git status # 查看状态
git add # 加入暂存区
git commit # 提交
3️⃣ 查看历史
bash
git log
git diff
4️⃣ 撤销操作(重点难点)
bash
git restore # 撤销修改
git reset # 回退暂存
git revert # 回滚提交
🌿 三、分支管理(开发核心能力)
1️⃣ 分支操作
bash
git branch
git checkout
git switch
git checkout -b feature/xxx
2️⃣ 合并分支
bash
git merge
3️⃣ 变基(进阶)
bash
git rebase
👉 理解:
- merge vs rebase 区别
☁️ 四、远程仓库操作
1️⃣ 远程连接
bash
git remote -v
2️⃣ 推送与拉取
bash
git push
git pull
git fetch
👉 重点区别:
pull = fetch + merge
3️⃣ 分支推送
bash
git push origin feature/login
🔁 五、日常开发流程
标准流程:
1. git pull
2. 新建分支
3. 开发
4. commit
5. push
6. 提 PR
7. 合并
🔍 六、冲突处理
1️⃣ 冲突产生原因
- 同一文件同一位置被多人修改
2️⃣ 解决流程
1. 打开冲突文件
2. 手动修改
3. git add
4. git commit
🧹 七、历史与回滚
1️⃣ 回退版本
bash
git reset --soft
git reset --hard
2️⃣ 安全回滚
bash
git revert
3️⃣ 查看操作记录
bash
git reflog
👉 非常重要(救命工具)
📦 八、临时保存
bash
git stash
git stash pop
👉 用于:
- 开发一半要切分支
🏷️ 九、标签管理
bash
git tag
git tag v1.0
git push origin v1.0
🔐 十、忽略文件(重点)
.gitignore
node_modules/
.env
dist/
👉 防止垃圾文件进入仓库
📏 十一、提交规范
常见规范:
feat: 新功能
fix: 修复bug
docs: 文档
refactor: 重构
🏗️ 十二、团队协作规范
在 GitHub / GitLab 中:
- PR(Pull Request)流程
- Code Review
- 保护 main 分支
- CI/CD 自动检测
🧠 十三、进阶知识
1️⃣ cherry-pick
bash
git cherry-pick <commit>
2️⃣ 子模块
bash
git submodule
3️⃣ rebase 交互式
bash
git rebase -i
👉 整理提交历史
4️⃣ 多人协作策略
- Git Flow
- GitHub Flow(推荐)