git学习目录
一、基础认知
1️⃣ Git 是什么
- 分布式版本控制系统(DVCS)
- 本地仓库 vs 远程仓库(如 GitHub)
2️⃣ Git 三大区域(核心概念)
工作区(Working Directory) 暂存区(Staging Area) 本地仓库(Repository)👉 必须理解,否则后面所有命令都会混乱
3️⃣ 基本状态理解
untracked(未跟踪) modified(已修改) staged(已暂存) committed(已提交)⚙️ 二、基础命令
1️⃣ 仓库初始化与克隆
gitinitgitclone2️⃣ 文件操作流程(最核心)
gitstatus# 查看状态gitadd# 加入暂存区gitcommit# 提交3️⃣ 查看历史
gitloggitdiff4️⃣ 撤销操作(重点难点)
gitrestore# 撤销修改gitreset# 回退暂存gitrevert# 回滚提交🌿 三、分支管理(开发核心能力)
1️⃣ 分支操作
gitbranchgitcheckoutgitswitchgitcheckout-bfeature/xxx2️⃣ 合并分支
gitmerge3️⃣ 变基(进阶)
gitrebase👉 理解:
- merge vs rebase 区别
☁️ 四、远程仓库操作
1️⃣ 远程连接
gitremote-v2️⃣ 推送与拉取
gitpushgitpullgitfetch👉 重点区别:
pull = fetch + merge
3️⃣ 分支推送
gitpush 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️⃣ 回退版本
gitreset--softgitreset--hard2️⃣ 安全回滚
gitrevert3️⃣ 查看操作记录
gitreflog👉 非常重要(救命工具)
📦 八、临时保存
gitstashgitstash pop👉 用于:
- 开发一半要切分支
🏷️ 九、标签管理
gittaggittag v1.0gitpush 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
gitcherry-pick<commit>2️⃣ 子模块
gitsubmodule3️⃣ rebase 交互式
gitrebase-i👉 整理提交历史
4️⃣ 多人协作策略
- Git Flow
- GitHub Flow(推荐)
