跳到主要内容

Git 版本控制参考

Git 面板管理当前 app 工作区的版本。需要按完整团队流程操作时,参见使用 Git 与启心代码管理协作

何时查这页

  • 不确定 Stage、Commit、Pull、Push 的顺序。
  • 想接入启心代码管理或其他远程仓库。
  • 需要查看旧提交、创建分支或处理认证失败。
  • 准备让 AI 生成提交信息,但不确定它会读取哪些变更。

实际入口

编辑器左侧 Activity Bar 点击 Git 图标。数字徽标表示当前未提交变更数量。

Git 面板上方提供:

  • 当前分支菜单和新建分支。
  • 当前远程菜单、启心代码管理和添加远程。
  • Commit 信息输入框。
  • Refresh、Fetch、Pull、Push 和 Commit 操作。

下方在 ChangesHistory 之间切换。

Changes

Changes 按未暂存和已暂存显示当前修改。点击文件打开 diff。

操作作用风险
Stage把文件加入下一次 Commit不会自动 Push
Unstage从本次 Commit 移出,保留工作区修改
Discard放弃未暂存修改;未跟踪文件会被删除不可撤销
Commit把 staged 变更记录到当前分支仍只在本机
Push把本地分支提交发送到所选远程会影响团队共享状态

推荐每次只 Stage 一个业务目的相关的文件。Commit 前逐个检查 diff,确保没有密钥、客户数据或机器专属配置。

分支与历史

分支

  • 分支菜单显示本地分支和已获取的远程分支。
  • 创建并切换新分支适合独立功能或修复。
  • 切换前先保存编辑器内容并处理未提交变更。

History

History 显示提交、当前 HEAD、分支和 tag 标记。双击历史提交会切到该提交用于查看。

如果切换后处于 detached HEAD,不要直接继续团队开发。需要从旧版本继续时,创建新分支。工作区有修改或冲突时,Theseus 会要求选择保留、stash 或放弃;理解影响后再确认。

远程与同步

启心代码管理

新建 app 时可直接启用。已有 app 可从远程菜单连接或切换到启心代码管理。使用前需要 Qixin 登录、有效账号名称和对应权限。

连接后仍要人工选择 Stage 和 Commit;启用远程不会把所有未提交修改自动提交。

自定义远程

从远程菜单选择添加远程,填写名称和 URL。不要在 URL 中嵌入用户名、密码或 token。

Fetch、Pull、Push

操作用途
Fetch更新远程分支信息,不改当前工作区
Pull把远程当前分支合入本地;可能产生冲突
Push上传当前分支提交

开始任务先 Fetch/Pull,完成验证后 Commit/Push。Push 前再次确认当前分支和远程。

AI 生成 Commit 信息

先 Stage 目标文件,再点击生成按钮。AI 只应基于 staged diff 生成候选信息;人工检查并编辑后再 Commit。

提交信息应说明业务结果,而不是只写“update”或文件名。不要因为信息由 AI 生成就跳过 diff 审查。

凭据

  • HTTPS 认证失败时,按面板提示输入用户名和访问令牌后重试。
  • SSH 远程使用本机 SSH key 和 agent。
  • 不要把凭据写入远程 URL、app 文件、提交信息或 AI 对话。

Git 面板只在桌面编辑器可用;运行页和 runtime-only 环境不提供工程 Git 操作。ZIP 导出也不包含 Git 历史。

成功表现

  • 当前分支和远程与团队计划一致。
  • Commit 只包含本任务 staged 文件,工作区剩余修改清晰可解释。
  • Push 后远程出现同一提交,其他成员可以 Pull。
  • History 能追溯业务变更,提交信息清楚。
  • app 在另一台开发机 Pull 后仍能打开、Build 和验证。

常见问题

Pull 前有未提交修改

先 Commit,或明确选择 stash、保留或放弃。不要在不理解冲突后果时强行 Pull。

Push 被拒绝

先 Fetch,确认远程是否有新提交;需要时 Pull 并解决冲突,再重新验证和 Push。

认证失败

HTTPS 检查访问令牌权限,SSH 检查 key 和 agent。不要通过把 token 放进 URL 来绕过。

Discard 后想恢复

Discard 没有撤销保证;未跟踪文件会被删除。重要修改应先 Commit、备份或确认不再需要。

切到旧提交后无法正常 Push

很可能处于 detached HEAD。为该提交创建分支,再明确后续合并方式。

AI 可以怎么帮

AI 可以解释 diff、建议提交拆分、生成候选信息和分析冲突。例如:

只读检查当前 Git 状态和 diff。按业务目的建议最少的独立 Commit,指出不应提交的文件,并为 staged 变更生成候选信息。不要 Stage、Commit、Pull 或 Push。

必须人工确认

  • 当前分支、远程和仓库归属正确。
  • staged 内容不含凭据、客户数据或无关修改。
  • Pull、Discard、stash、分支切换和历史切换不会丢失工作。
  • Commit、Push 和团队合并已经获得授权并完成验证。