Skip to content

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)

  1. 去 GitHub 新建一个仓库 (New Repository)。
  2. 拿到仓库地址 (https://github.com/yourname/repo.git)。
  3. 关联远程仓库:
    bash
    git remote add origin https://github.com/yourname/repo.git
  4. 推上去:
    bash
    git push -u origin main

Step 4: 解决冲突 (Conflict)

当 Git 说 CONFLICT (content): Merge conflict in file.txt 时,别慌。

  1. 打开那个文件。
  2. 你会看到:
    <<<<<<< HEAD
    这是主线的代码
    =======
    这是你改的代码
    >>>>>>> feature/login-page
  3. 人工决定:删掉 <<<, ===, >>>,留下你想要的代码。
  4. 保存,然后:
    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 pullgit fetch 区别? A: pull = fetch (下载) + merge (合并)。Vibe Coder 直接用 pull,省事。

5. 验收标准 (Definition of Done)

  1. 在本地创建一个新分支 dev
  2. dev 分支改个文件并提交。
  3. 切换回 main,把 dev 合并进来。
  4. 在 GitHub 上看到你的代码。

Next Mission: L06. Vibe 工具箱:效率倍增器

基于 Claude Code 构建