欢迎加入 VibeVibe 的文档/开发团队!为了保证我们网站(www.vibevibe.cn)的稳定性,同时又能让我们在测试环境(dev.vibevibe.cn)愉快地预览修改,我们制定了一套简单的协作流程。
不用担心 Git 复杂,跟着本文档的“开发五步走”操作即可!
由于Edgeone的特殊构建性质,我们目前在 腾讯 CNB (仓库地址 https://cnb.cool/vibevibe/vibevibe)进行主要开发,GitHub 仅作为对外展示的开源镜像。
CNB的全部的git账号为cnb,密码为cnb的个人令牌,可前往访问令牌 · 个人设置获取。
| 分支名 | 作用 | 权限 | 自动部署地址 |
|---|---|---|---|
| master | 线上正式版。最稳定的代码。 | 🚫 禁止直接推送 🔒 仅接受来自 dev 的合并 | www.vibevibe.cn(随着Master分支自动更新) |
| develop | 开发/测试版。大家的修改汇聚于此。 | 🚫 禁止直接推送 ✅ 接受来自 feature 分支的合并 | dev.vibevibe.cn(随着Dev分支自动更新) |
| feature/xxx | 你的工位。写新文档、修 Bug 都在这里。 | ✅ 自由发挥 🚀 写完推送到远程,并发起合并请求 | 无 (本地预览) |
你在自己的小分支 (feature/name-feature_name) 写代码。
写完提交给 develop 分支 -> dev.vibevibe.cn 更新(大家一起审阅)。
管理员审核没问题,将 develop 合并进 master -> www.vibevibe.cn 更新(正式发布)。
请忘记直接 git push origin master 这种操作!那是危险动作。请严格按照以下步骤操作:
在开始写新内容之前,先确保你的本地代码是最新的,并且是从 develop 分支出发。
x# 1. 切换到 develop 分支git checkout develop# 解析:# checkout: 切换分支的命令# develop: 目标分支的名字# 2. 拉取最新代码(防止冲突)git pull origin develop# 解析:# pull: 从远程下载最新代码并合并到当前分支# origin: 远程仓库的默认名字(这里指腾讯 CNB 的仓库)# develop: 指定从远程的 develop 分支拉取# 3. 创建并切换到你的新分支git checkout -b feature/xiaoming-docs# 解析:# checkout: 切换分支# -b: (branch) 这是一个参数,意思是“创建新分支并立即切换过去”# feature/xiaoming-docs: 新分支的名字。建议格式:feature/你的名字-功能描述
在这个分支上,你可以随意修改、保存。写完后需要保存到 Git 历史中。
xxxxxxxxxx# 1. 把文件加入暂存区git add .# 解析:# add: 告诉 Git 哪些文件需要被记录# .: 一个点代表“当前目录下的所有变动文件”# 2. 提交修改git commit -m "更新了快速开始文档"# 解析:# commit: 把暂存区的内容正式存入版本历史(生成一个版本号)# -m: (message) 表示后面跟的是说明文字# "更新了...": 具体的说明,请写清楚你改了什么,方便队友看
写完了,要把你的分支推送到腾讯 CNB 服务器上。
xxxxxxxxxx# 第一次推送该分支时,需要关联远程分支git push -u origin feature/xiaoming-docs# 解析:# push: 把本地的版本上传到远程服务器# -u: (upstream) 这是一个重要参数!它建立了“本地分支”和“远程分支”的永久关联# origin: 远程仓库名# feature/xiaoming-docs: 告诉服务器,我要推送到这个名字的分支上# ---# 💡 以后在这个分支继续修改,只需要输入简短的:git push
打开腾讯 CNB 仓库页面。
系统通常会提示你“刚刚推送了 feature/xxx,是否发起合并请求?” -> 点击 创建合并请求。
关键点:
源分支 (Source): 选择你的分支 feature/xxx
目标分支 (Target): 必须选择 develop (千万别选 master!)
点击提交,会触发构建验证,等待管理员审核后自动并入dev分支。
当你的代码被管理员合并进 develop 后,腾讯 CNB 网页上通常会弹出一个按钮提示删除远程的 feature 分支(建议点它,保持远程干净)。
但是!你的电脑(本地)上这个分支还在。为了防止你的电脑里堆积了几十个旧分支,建议手动删除。
xxxxxxxxxx# 1. 先切回主开发分支(不能删除自己当前所在的分支,所以要先跳出来)git checkout develop# 2. 顺手拉取最新的代码(把你刚才合并进去的代码拉回来)git pull origin develop# 3. 删除本地的特性分支git branch -d feature/xiaoming-docs# 解析:# branch: 分支管理命令# -d: (delete) 删除的意思。Git 会检查该分支是否已合并,已合并才允许删除# feature/xiaoming-docs: 你要删除的那个旧分支名# 如果 Git 提示“未合并”但你确定要强制删除(比如这分支写废了不要了):# git branch -D feature/xiaoming-docs (大写的 D 代表强制删除)
master 或 develop 分支上直接改了代码,无法推送怎么办?现象: 输入 git push 时报错,提示 protected branch 或 permission denied。
解决: 别慌,Git 很聪明。你只需要带着你的修改“跳”到一个新分支就行:
xxxxxxxxxx# 1. 直接创建一个新分支(你的修改会带过去)git checkout -b feature/rescue-code# 2. 正常提交推送git add .git commit -m "救回来的代码"git push -u origin feature/rescue-code
然后去网页端提 PR 到 develop 即可。
这说明你修改的文件,别人也改了,并且别人先合并进去了。
解决:
切换回 develop 更新代码:git checkout develop -> git pull origin develop
切回你的分支:git checkout feature/xxx
把 develop 的新代码合过来:git merge develop
merge: 合并命令,把 develop 的内容合入当前分支。
打开代码编辑器,搜索 <<<<<<<,手动决定保留哪段代码,保存文件。
再次 git add . -> git commit -> git push。