L05. Git 版本控制 (下):多人运动指南
Vibe Coding 宣言:独行侠走得快,一群人走得远。但一群人如果没有规则,会互相踩死。
0. 为什么这一课至关重要? (Why It Matters)
- 平行宇宙:你不想在修 Bug 的时候,把正在开发的半成品功能搞坏。分支 (Branch) 让你在另一个宇宙里安全干活。
- 云端备份:硬盘坏了怎么办?GitHub 是你的诺亚方舟。
- 解决冲突:当你和队友改了同一行代码,Git 会报警。学会解决冲突,你就是团队的大腿。
1. 目标 (Goal)
学会用 分支 (Branch) 开发新功能,用 Pull Request (PR) 合并代码,并把代码推送到 GitHub。
2. 核心概念/装备/指令 (The Core)
2.1 分支 (Branch)
- Main/Master:主线剧情,永远是能跑的稳定版本。
- Feature Branch:你的副本,随便折腾,搞坏了也不影响主线。
2.2 远程仓库 (Remote)
- Origin:远程仓库的别名(通常指 GitHub 上的那个)。
- Push:推上去。
- Pull:拉下来。
3. 实战演练 (Action)
Step 1: 开启新宇宙 (Branch)
不要直接在 main 分支上改代码!
bash
git checkout -b feature/login-page
# 这句话等于:
# git branch feature/login-page (创建)
# git checkout feature/login-page (切换)现在你在 feature/login-page 分支了。随便改文件,提交几次。
Step 2: 合并宇宙 (Merge)
功能开发完了,要合回主线。
bash
# 1. 先切回主线
git checkout main
# 2. 把 feature 分支合进来
git merge feature/login-page- 如果没有冲突,Git 会自动搞定 (Fast-forward)。
Step 3: 上云 (GitHub)
- 去 GitHub 新建一个仓库 (New Repository)。
- 拿到仓库地址 (https://github.com/yourname/repo.git)。
- 关联远程仓库:bash
git remote add origin https://github.com/yourname/repo.git - 推上去:bash
git push -u origin main
Step 4: 解决冲突 (Conflict)
当 Git 说 CONFLICT (content): Merge conflict in file.txt 时,别慌。
- 打开那个文件。
- 你会看到:
<<<<<<< HEAD 这是主线的代码 ======= 这是你改的代码 >>>>>>> feature/login-page - 人工决定:删掉
<<<,===,>>>,留下你想要的代码。 - 保存,然后:bash
git add . git commit -m "fix: resolve conflict"
4. 常见问题 (FAQ - Vibe Style)
Q: 什么时候该开分支? A: 永远! 只要你开始写任何新功能或修 Bug,第一件事就是 git checkout -b ...。保持 Main 分支干净。
Q: 强制推送 (Force Push) 是什么? A: git push -f。它会覆盖远程的历史。除非你只有一个人,否则永远别用。用了可能会被队友打死。
Q: git pull 和 git fetch 区别? A: pull = fetch (下载) + merge (合并)。Vibe Coder 直接用 pull,省事。
5. 验收标准 (Definition of Done)
- 在本地创建一个新分支
dev。 - 在
dev分支改个文件并提交。 - 切换回
main,把dev合并进来。 - 在 GitHub 上看到你的代码。
Next Mission: L06. Vibe 工具箱:效率倍增器