二、远程 Git 仓库的作用
远程 Git 仓库作为代码的集中管理点,主要职责包括:
·存储代码的权威版本:确保团队成员能够访问到最新的代码版本。
·处理 Pull Request 的审查和合并:允许团队成员提交代码变更,并通过审查流程进行合并。
·触发 CI/CD 流程:自动化测试和部署,提高开发效率。
三、Studio Git 文件夹的作用
Studio Git 文件夹作为个人的“开发工作区”和本地的“Git 客户端”,主要职责包括:
·同步远程仓库代码到 Git 文件夹:将远程仓库的代码同步到 Git 文件夹中进行开发。
·提交和推送代码:将本地的代码变更提交到远程 Git 仓库,以记录开发历史。
·可视化查看差异和解决冲突:提供工具以便于查看代码变更的差异,并在合并时解决冲突,确保代码的正确性。
下面以一个简单的例子,对如何在 WeData 中使用 Git 功能进行团队协作进行阐述。
注意:WeData Studio 基于 VSCode 构建,Git 操作界面与 VSCode 一致。如果你熟悉 VSCode 的 Git 功能,可以直接上手使用。更多关于 VSCode Git 功能的详细介绍,请参阅 VSCode 源代码管理产品文档。
四、示例场景
某电商公司A有一个数据开发团队,现接到业务方数据需求,需要开发一张“地域维度的订单统计表”,定期产出数据从而辅助业务方决策。
五、项目成员分工
假设数据开发团队中有三个成员,其角色和分工如下:
| 成员 | 角色 | 职责 | 所需权限 |
| 成员A | 项目管理员 | 负责 WeData 平台的项目配置 | WeData 项目管理员角色 |
| 成员B | 数据开发工程师 | 负责开发新的任务,以及修复已有 Bug | WeData 数据工程师角色 |
| 成员C | CI/CD 工程师 | 负责代码审查和分支合并 | WeData 数据工程师角色 + Git 仓库管理权限 |
六、项目和分支管理
由于要进行开发和生产环境的隔离,该项目团队有一个开发环境项目:project_dev,和生产环境项目:project_prod。
其中,开发环境项目绑定的是开发分支 dev,生产环境项目绑定的是生产分支 main。
七、Git 分支类型和用途
| 分支 | 用途 | 命名规范 | 生命周期 |
| main/master | 生产分支,存放稳定可发布的代码 | – | 永久 |
| develop | 开发分支,日常开发集成分支 | – | 永久 |
| feature/* | 新功能开发 | feature/功能名称 | 短期 |
| bugfix/* | Bug 修复 | bugfix/问题描述 | 短期 |
| hotfix/* | 紧急线上问题修复 | hotfix/问题描述 | 短期 |
| release/* | 发布准备 | release/版本名称 | 短期 |
注意:说明:
注意:分支合并策略建议:
九、成员A:创建项目并完成 Git 配置
1. 创建并配置项目。
进入WeData 控制台,创建两个项目:project_dev、project_prod,分别对应开发环境和生产环境,同时绑定项目所需使用的大数据存算引擎和执行资源组。
2. 配置项目成员和角色。
进入项目管理 > 成员与角色管理,将用户B加入两个项目,并且授予数据工程师角色。
3. 配置项目 Git 地址。
进入项目管理 > Git 配置,填写 Git 仓库地址、供应商和分支。其中,开发环境为 dev 分支,生产环境为 main 分支。
选择 Git 仓库所在的网络环境,进行网络配置的初始化和连通性测试,连通成功后保存配置信息。
注意:分支保护建议:
注意:建议在 Git 平台(如GitLab/GitHub)配置分支保护规则:
十、成员B:进行数据开发并推送代码
1. 进入开发环境项目。
进入开发环境项目:project_dev
2. 完成个人Git权限配置。
单击右上角用户中心 > 个人设置,配置个人 Git 权限,填写 Email 和 Token 信息后,单击保存并初始化个人运行环境。
注意:说明:
注意:Token 安全最佳实践:
验证配置是否成功:
·进入 Studio,检查 GitFolder 是否能正常显示仓库文件列表。
·如果显示错误提示,请检查 Token 权限和网络连接。
3. 同步 dev 分支到本地。
进入 Studio,在 GitFolder 中将自动同步 dev 分支下的所有代码文件。
4. 开发并提交代码。
完成代码开发后,进入 Git 源代码管理:
·暂存变更:选择需要提交的文件,单击“+” 暂存。
·填写提交信息:按照 Commit 规范填写提交说明。
·提交代码:单击 Commit 将代码变更暂存并提交到本地 dev 分支。
5. 推送分支到远程仓库。
单击 Sync Changes(等同于 git push),将本地 dev 分支的代码推送到远程 dev 分支。
注意:推送冲突处理:
注意:如果推送时提示冲突,说明其他成员已提交了更新。处理步骤:
注意:1. 先拉取(Pull)最新代码。
注意:2. 在本地解决冲突(编辑冲突文件,选择保留的内容)。
注意:3. 重新提交并推送。
6. 在 Git 平台创建 PR,交给成员C审查。
在远程 Git 平台(如GitLab/GitHub)操作:
·进入仓库页面,单击 New Pull Request 或 New Merge Request。
·选择源分支:dev,目标分支:main。
·填写 PR 标题和描述,说明本次变更内容。
·指定 Reviewer 为成员C。
·提交 PR 等待审查。
十一、成员C:代码审查和代码发布
1. 在 Git 平台查看 PR 改动内容。
2. 在远程 Git 平台操作:
·进入 PR 详情页,查看 Files Changed 标签页。
·逐行检查代码变更,关注以下要点:
·代码逻辑是否正确。
·是否符合编码规范。
·是否有潜在的性能问题。
·是否有安全风险。
·如有问题,在对应代码行添加评论,提出修改意见。
·如果代码需要修改,单击 Request Changes。
3. 批准合并,将 dev 分支合并到 main 分支。
确认代码无问题后:
·单击 Approve 批准 PR。
·单击 Merge 将 dev 分支合并到 main 分支。
·(可选)合并后删除源分支,保持仓库整洁。
十二、成员B:配置生产环境任务
1. 进入生产环境项目。
进入生产环境项目:project_prod
2. 创建 Notebook 任务。
进入工作流编排 > 编排空间,创建工作流和 Notebook 任务,引用远程 Git 仓库 main 分支中的 Notebook 文件。
3. 配置任务周期性调度。
单击任务配置 > 调度设置,配置任务的调度周期,例如每天00:00执行一次,从而周期性产出数据结果。
十三、Studio Git 界面操作指南
WeData Studio 基于 VSCode 构建,Git 操作界面与 VSCode 完全一致。关于 Git 界面的详细操作说明,请参阅 VSCode源代码管理产品文档。
该文档涵盖以下内容:
·源代码管理面板的使用
·文件暂存、提交、推送操作
·查看文件差异(Diff Editor)
·分支切换与创建
·合并冲突的可视化解决
·时间线视图(Timeline)
·以及更多高级功能
十五、.gitignore 配置
在项目根目录创建 .gitignore 文件,避免敏感信息被提交:
# 配置文件*.propertiesconfig/secrets.yaml# 环境变量.env.env.local# IDE配置.idea/.vscode/# 日志文件*.loglogs/# 临时文件*.tmp*.bak
十六、敏感信息处理
1. 不要提交密码、Token、密钥等敏感信息到代码仓库。
2. 使用环境变量或配置中心管理敏感配置。
3. 如果不慎提交了敏感信息,应立即:
·更换泄露的密码/Token。
·联系 Git 仓库管理员清理历史记录,或参考 Git 平台的敏感信息删除指南。
十八、Git 文件夹无法同步代码?
可能原因及解决方案:
1. 网络问题:检查网络连接,确认能访问 Git 仓库地址。
2. Token 过期:重新生成 Token 并更新个人设置。
3. 权限不足:确认 Token 具有仓库读取权限。
十九、推送代码时提示"权限被拒绝"?
可能原因及解决方案:
1. Token 权限不足:确认 Token 具有写入权限。
2. 分支保护:检查目标分支是否开启了保护,需要通过 PR 合并。
20、如何处理大文件?
建议:
1. 避免将大文件(如视频、数据集)直接提交到 Git 仓库。
2. 或将大文件存储到对象存储(COS),代码中引用 URL。
21、多人同时修改同一文件怎么办?
1. 开发前先拉取最新代码。
2. 尽量拆分大文件为多个小文件,减少冲突概率。
3. 频繁提交和同步,避免大量代码积压。
4. 遇到冲突时,与相关同事沟通后再解决。
22、如何查看历史提交记录?
在 Git 源代码管理面板中:
1. 单击 History 或 Git Log 查看提交历史。
2. 可以查看每次提交的变更内容、作者和时间。
23、相关链接
·VSCode源代码管理产品文档-WeData Studio Git 操作参考
·Git 产品文档
·Conventional Commits 规范
·GitLab 文档
·GitHub 文档