深色模式
代码协同
当我们做个人项目的时候,可以把代码放在本地,但是当需要团队协作的时候,代码就必须要有一个协作的空间。上一节的 Git 存档只在你自己电脑上,GitHub 则是放在云端的“共享存档柜”:全队把代码放进同一个柜子,谁改了什么、什么时候改的、为什么改,都有记录可查;每个人在自己电脑上干活,干完再把成果交回柜子,互不覆盖。
GitHub 是全球最大的代码托管平台,个人和小团队用免费版就够,私有仓库也不限数量。它不只能放代码,团队共用的 CLAUDE.md、Skill、提示词模板同样可以放进去,大家拉下来就是同一套规则。下面按“认识名词、准备账号、建仓库、日常协作、处理冲突”的顺序带你走一遍,全程基本不用记命令,跟智能体说中文就行。
先认识几个名词
GitHub 的页面和智能体的回复里会反复出现下面这些词。
| 名词 | 大白话解释 | 打个比方 |
|---|---|---|
| 仓库(Repository,简称 Repo) | 一个项目的全部文件,加上它的全部历史存档 | 一个自带“时光机”的共享文件夹 |
| 克隆(Clone) | 把云端仓库完整复制一份到自己电脑 | 第一次从柜子里把整套资料搬回家 |
| 提交(Commit) | 在本地存一次档,并附一句备注 | 游戏存档,外加一条“存档说明” |
| 推送(Push) | 把本地的新存档上传到 GitHub | 把自己的进度交回柜子 |
| 拉取(Pull) | 把别人上传的新存档下载到自己电脑 | 开工前先看看柜子里有没有别人的新进度 |
| 分支(Branch) | 从主线另存出来的一条平行存档;主线一般叫 main | 复印一份草稿随便改,原件不动 |
| 合并请求(Pull Request,简称 PR) | 申请把自己分支上的改动并入主线,先请队友审一遍 | 交稿前请同事过目签字 |
| 合并(Merge) | PR 审阅通过后,把改动正式并入主线 | 草稿定稿,誊进原件 |
| 冲突(Conflict) | 两个人改了同一个文件的同一处,Git 不知道该听谁的 | 两人同时改了合同里的同一条款,得坐下来商量 |
第一步:准备账号,让电脑连上 GitHub
- 注册账号:打开 https://github.com 用邮箱注册,用户名尽量简短好记,之后队友邀请你时要用到。GitHub 要求提交代码的账号开启两步验证,注册后在 Settings → Password and authentication 里按提示用手机验证器 App 绑定即可。
- 安装 Git:macOS 一般自带,在终端输入
git --version能看到版本号就说明装好了;Windows 到 https://git-scm.com/downloads 下载安装,一路默认选项。也可以直接对 CC 说:“帮我检查电脑有没有装 Git,没有就装上。” - 登录 GitHub:对 CC 说:“帮我安装 GitHub CLI,并登录我的 GitHub 账号。”它会安装 GitHub 官方的命令行工具
gh并运行gh auth login,屏幕上会给出一串一次性验证码并打开浏览器,你在浏览器里输入验证码、点授权就完成了。之后 CC 就能以你的身份建仓库、推代码、开 PR。
GitHub 在国内能打开,但时好时坏。推送、拉取卡住或者报“连接超时”,多半是网络问题,开着前面配置好的 Clash Verge 再试一次即可。如果你更习惯点按钮,也可以安装 GitHub Desktop(https://desktop.github.com),用图形界面完成拉取、提交和推送;不过有了智能体之后,直接说话通常更省事。
第二步:把项目放上 GitHub
分两种情况:项目是你发起的,就由你建仓库、邀请队友;项目是别人发起的,就等对方邀请,再把仓库克隆到自己电脑上。
情况一:你是发起人
- 在本地项目文件夹里打开 CC,对它说:“在 GitHub 上新建一个私有仓库,名字叫 travel-planner,把当前项目推上去。推之前先检查有没有密钥、密码之类的文件,有就加进 .gitignore。”
- CC 完成后会给你一个仓库地址,形如 https://github.com/你的用户名/travel-planner ,用浏览器打开,就能看到代码已经在云端了。
- 邀请队友:在仓库页面依次点 Settings → Collaborators → Add people,输入队友的 GitHub 用户名或邮箱;对方接受邀请后,就有了这个仓库的读写权限。
情况二:你是加入者
- 打开队友的邀请邮件点接受,或者登录 GitHub 后在右上角的通知里接受。
- 新建一个空文件夹,在里面打开 CC,对它说:“把 https://github.com/队友用户名/travel-planner 克隆到这个文件夹。”之后这里就是你的本地工作区,所有改动都在这里进行。
第三步:日常协作的一个完整循环
团队协作最怕“你改你的、我改我的,最后互相覆盖”。GitHub 的解法是:主线 main 只放大家确认过、能跑通的版本,每个人在自己的分支上干活,干完通过 PR 请队友审一遍,再合进主线。落到每天的操作就是下面这个循环,每一步都可以直接用中文告诉智能体,右侧一列是它在背后替你执行的操作,看不懂也没关系。
| 步骤 | 对智能体这样说 | 它在背后执行 |
|---|---|---|
| 1. 开工前同步 | “切回 main,拉取一下最新代码。” | git switch main、git pull |
| 2. 开分支干活 | “新建一个分支 feature-login,接下来在上面做登录功能。” | git switch -c feature-login |
| 3. 修改并验证 | 正常布置任务;改完后自己亲手跑一遍,确认真的能用。 | 读写文件、运行程序 |
| 4. 存档并上传 | “提交并推送到 GitHub,备注写‘完成登录功能’。” | git add、git commit、git push |
| 5. 发起合并请求 | “帮我开一个 PR,写清楚这次改了什么、怎么验证。” | gh pr create |
| 6. 队友审阅 | 队友打开 PR 链接看改动、留评论;也可以让队友的智能体先审一遍:“帮我审一下这个 PR:(贴上 PR 链接)。” | gh pr view、gh pr diff |
| 7. 合并并收尾 | 审阅通过后,在 PR 页面点 Merge pull request,或者说:“把这个 PR 合并,并删掉这个分支。” | gh pr merge |
PR 页面就是团队的“会议桌”:Conversation 标签里看讨论和审阅意见,Files changed 标签里逐行看改了什么,绿色是新增、红色是删除,鼠标移到某一行旁边点“+”就能针对这一行留言。队友提了修改意见,你不用自己动手,把意见原样转给智能体:“PR 上队友说登录失败时没有提示,帮我改一下并推送。”新的提交会自动出现在同一个 PR 里,不用重新开。
💡
一句话记住协作节奏:开工先拉取,干活开分支,做完就推送,合并走 PR。新手上路时,不妨让智能体每做一步都解释一下“这一步在 Git 里做了什么”,跑上几轮,这些名词自然就熟了。
遇到冲突怎么办
你和队友同时改了同一个文件的同一段,后合并的那个人就会遇到冲突。冲突不是出错,只是 Git 在问你“两个版本听谁的”。这时对智能体说:“拉取 main 时有冲突,帮我列出冲突的地方,分别说明两边各改了什么。”它会把双方的版本摆出来,你决定保留哪一边、或者两边合在一起,再让它“按我的决定解决冲突并提交”即可。拿不准的业务内容,先跟改动的那位队友确认,别让智能体替你猜。
预防冲突比解决冲突省事:分工尽量落到不同的文件或模块;每天开工先拉取;分支别拖太久,做完一个小功能就提 PR 合进去。
GitHub 网页上还能做什么
大部分操作交给智能体就行,但仓库网页上有几个标签值得认识,团队的任务分配、审阅和权限都在这里完成。
| 页面标签 | 用途 |
|---|---|
| Code | 浏览文件和目录;点 Commits 能看到每一次存档的时间、作者和备注。 |
| Issues | 团队的任务清单和问题单:发现一个问题、想加一个功能,就新建一条 Issue 并指派给某人。可以直接对智能体说:“看一下仓库里编号为 12 的 Issue,修复它并开 PR。” |
| Pull requests | 所有待审阅、已合并的 PR 都在这里,是每天协作最常打开的页面。 |
| Actions | 自动检查:每次推送后自动跑测试、查格式,PR 页面会显示通过或失败。一般由懂技术的成员配置,新手会看结果即可。 |
| Settings | 仓库设置:邀请成员(Collaborators)、切换公开或私有、设置主线保护(要求必须经过 PR 审阅才能合并进 main)。 |
💡
协作中最容易出事故的三件事:
- 仓库默认设为私有,密钥、密码、.env 文件绝不提交。万一已经推上去,只删掉文件远远不够,历史存档里还留着,要立刻到对应平台作废这把密钥并换新的。
- 不要强制推送(force push)覆盖主线,它会把队友已经推上去的存档直接抹掉;智能体提出要强制推送时,先停下来问清楚原因。
- GitHub 的密码和令牌不要粘贴进对话框,登录一律走 gh auth login 的浏览器授权。