All checks were successful
continuous-integration/drone/tag Build is passing
Reviewed-on: #45
操作说明3
当然可以!以下是一份 专为协作者(如你)量身定制的完整 Git + CI/CD 协作流程指南,基于你的真实使用场景:
- 🧑💻 你是 协作者(非仓库所有者)
- 💻 使用 JetBrains IDEA 开发
- 📦 仓库托管在 Gitea
- ⚙️ CI/CD 由 Drone 驱动
- 🔄 工作流:功能分支 → PR → 审核 → 合并到
main
🎯 目标
让你从 第一次参与项目 到 日常开发、提交 PR、同步代码 全流程清晰、无歧义、零命令行。
🔄 完整协作流程(6 个清晰阶段)
graph TD
A[0. 克隆项目] --> B[1. 同步最新 main]
B --> C[2. 创建功能分支]
C --> D[3. 日常开发与提交]
D --> E[4. 提交前同步 main]
E --> F[5. 推送并创建 PR]
F --> G[6. 等待审核 & 合并]
✅ 阶段 0:克隆项目(首次参与)
只需做一次
- 打开 IDEA → Get from VCS
- URL:
https://gitea.hy-ec.cn/jk_yinzy/adfsadfsadf.git - Directory: 本地路径(如
~/projects/my-project)
- URL:
- 点击 Clone
- 登录你的 Gitea 账号(需有 读写权限)
✅ 此时你拥有完整本地仓库,包含 main 分支。
✅ 阶段 1:同步最新 main(重要!)
确保你基于最新代码开始开发
- 右下角点击分支名(应为
main) - 菜单栏:VCS → Git → Fetch
(拉取远程所有更新,包括origin/main) - 确认本地
main是最新的(可选:切换到main→ 查看提交历史)
💡 这一步防止你基于过时代码开发!
✅ 阶段 2:创建你的功能分支
- 右下角点击当前分支(
main) - 选择 New Branch
- 名称规范:
feat/xxx、fix/xxx、yourname/topic
例如:yinzy/user-profile
- 名称规范:
- IDEA 自动切换到新分支
✅ 此分支仅属于你,可自由提交。
✅ 阶段 3:日常开发与提交
- 编写代码、修改文件
- 底部 Git → Commit
- 勾选变更文件
- 输入语义化提交信息:
feat: add user profile page
- 点击 Commit and Push
⚠️ 首次推送时:
- IDEA 会弹窗 → 勾选 Set upstream
- 远程分支自动创建(如
origin/yinzy/user-profile)
✅ 之后每次提交可直接 Push(无需再设 upstream)
✅ 阶段 4:提交 PR 前 —— 再次同步 main
⚠️ 关键步骤!避免 PR 出现冲突
即使你刚开发完,也可能有人已合并新代码到 main。
操作步骤(全部在 IDEA):
- VCS → Git → Fetch
(获取最新origin/main) - VCS → Git → Rebase...
- Onto branch:
origin/main - 点击 Rebase
- Onto branch:
- 如果出现冲突:
- IDEA 弹出 Merge Conflicts 窗口
- 双击文件,在三向编辑器中解决
- 点击 Apply → 继续
- VCS → Git → Push
- 如果提示 “Push failed”,点击 Force Push
✅ 现在你的分支干净地基于最新
main
✅ 阶段 5:推送并创建 Pull Request(PR)
- 确保代码已推送(右上角无未推送提交)
- IDEA 可能弹出提示:
“Your branch has been pushed. Create a pull request?”
- 点击 Create Pull Request
- 或手动打开 Gitea 页面
- 在 Gitea 中填写:
- 标题:
feat: add user profile - 描述:功能说明、如何测试
- 不要加
WIP:(除非未完成)
- 标题:
- 点击 Create Pull Request
✅ Drone 自动运行 CI(drone/pr)
✅ 阶段 6:等待审核 & 合并
- 维护者(
jk_yinzy)会:- 查看 CI 结果(必须绿色 ✅)
- 审核代码
- 点击 Approve
- 点击 「创建合并提交」(Squash and merge)
- 合并后,PR 自动关闭
- (可选)维护者删除你的远程分支
🎉 你的代码正式进入
main!
🔁 日常开发循环(每天重复)
当你继续开发新功能时,只需重复:
graph LR
A[Fetch latest main] --> B[Create new branch]
B --> C[Develop + Commit]
C --> D[Rebase onto main]
D --> E[Push + Create PR]
💡 每次提 PR 前都执行 阶段 4(rebase),这是专业协作的核心习惯!
🛠️ IDEA 快捷操作速查
| 操作 | 路径 |
|---|---|
| 拉取远程更新 | VCS → Git → Fetch |
| 创建分支 | 右下角 → New Branch |
| 变基到 main | VCS → Git → Rebase... → origin/main |
| 强制推送 | Push → Force Push |
| 查看提交历史 | Git → Log |
📌 重要提醒
| 注意事项 | 说明 |
|---|---|
❌ 不要直接推送到 main |
分支保护会拒绝 |
| ✅ 每次 PR 前必须 rebase | 避免“此分支落后于 main” |
| ✅ 提交信息要清晰 | 便于审核和追溯 |
| ✅ 小步提交、频繁推送 | 降低冲突风险 |
✅ 最终效果
- 你作为协作者:独立开发、安全提交、顺利合入
- 维护者:轻松审核、一键合并、历史干净
- 项目:CI 始终通过、
main永远可部署
如果你希望,我可以将这份指南导出为 PDF 手册 或 团队协作备忘单(Markdown / Word),方便你和队友随时查阅!是否需要?
添加git cicd
Description
Release test-1.2
Latest
Languages
CSS
42.7%
Vue
33.5%
Java
7.6%
JavaScript
4.2%
HTML
4.2%
Other
7.8%