版本管理参考
编辑器左侧的版本面板默认使用自动化项目术语,不要求调试、交付或电气工程师理解 Stage、Commit、Pull、Push 等 Git 概念。底层仍是标准 Git 仓库,熟悉 Git 的人员可以进入高级 Git。
新建 App 不会自动创建仓库。首次需要版本管理时,在版本面板点击初始化仓库;Theseus 会直接把 Git 创建的当前分支设为标准版,不再要求额外确认。Theseus 使用电脑上安装的 Git;未检测到 Git 时,面板会提供 Git for Windows 下载和重新检测入口,不影响 App 文件、编辑或构建。
只保留两类版本
- 标准版:公共设备逻辑、通用页面、标准 I/O 与默认配置的主线。它可以对应任意 Git 分支,不要求叫
main。 - 客户版:每个客户只有一条长期分支。系统生成
customer/<客户编码>-<客户名称>,客户选配、现场参数、协议差异和专用动作持续保存在这条分支中。
普通用户不创建 change/*、hotfix/* 或发布分支。需要临时分支、精细提交或特殊修复流程时,由负责人进入高级 Git处理。
默认界面
版本选择器只列出标准版和 customer/* 客户版。存在未保存修改时不能切换,避免修改落到错误客户。
初始化的新仓库默认以当前分支作为标准版;导入仓库优先采用远端声明的默认分支。只有旧仓库缺少远端默认分支或已有标准版配置失效时,界面才要求人工确认当前分支。
| 操作 | 实际结果 |
|---|---|
| 保存修改 | 自动包含当前全部修改并保存为一个本机版本;修改说明可选 |
| 同步团队 | 取得团队修改,以确定方式合并,再上传当前版本和版本标记 |
| 更新标准版 | 在客户版中取得远端最新标准版并合入当前客户版 |
| 发布标准版 | 在标准版创建发布标记并同步团队 |
| 标记交付 | 在客户版记录现场、版本和说明,并同步团队 |
断网时保存修改仍然成功,界面显示“等待同步团队”。网络恢复后点击同步团队即可。
新建客户版
- 先打开或设置标准版。
- 在版本选择器选择新建客户版。
- 填写客户名称和客户编码。
- 选择创建并打开。
系统固定从标准版创建并立即切换,不让用户填写分支名、起点或是否切换。同一客户后续调整继续使用原客户版,不为每次设备交付复制分支。
同步与冲突
同步团队要求工作区已保存。只有远端新提交时执行快进;双方都有新提交时保留明确合并记录;合并冲突会自动中止并恢复操作前状态,不自动 stash、不吞错、不猜测客户配置。
更新标准版每次先 Fetch 所选远程,再合入远端标准分支,因此不会误用本机过期标准版。发生冲突时也会中止。由同时理解标准功能和客户现场的人进入高级 Git 检查差异并处理。
发布与交付追溯
- 标准版发布使用不可移动的
release/vX.Y.Z注释标签。 - 客户现场交付使用不可移动的
delivery/<客户>/<现场>/<版本>注释标签。 - 标记前必须保存全部修改;标记后默认同步团队。同步失败时标签仍安全保存在本机,并显示待同步状态。
- 修订时创建新版本,不移动或复用已发布标记。
高级 Git
高级 Git保留 Changes、Branches、History、Stage、Unstage、Commit、Fetch、Pull、Push、分支比较、任意分支创建和远程配置,面向仓库负责人以及特殊修复、冲突和代码评审。返回简洁模式不会修改仓库状态。
凭据继续使用系统 credential helper/GCM 或 SSH agent。HTTPS 认证失败时可按提示更新 token;不要把凭据写进远程 URL 或 App 文件。版本管理只在桌面编辑器提供。
交付前检查
- 当前选择正确客户版,标准修改没有写错客户。
- 修改已保存,且“同步团队”完成。
- 更新标准版后已重新 Build,并回归 I/O、通讯、安全、页面和控制流程。
- 交付标记的客户、现场和版本与实际安装设备一致。