Skip to content

Hosting Connections

zhangxh edited this page Aug 16, 2026 · 1 revision

连接与管理托管平台

TriForge 0.5.0 支持 GitHub、GitLab、Gitea。可以同时连接三个平台,也可以为同一种平台保存多个实例或账号,只要“平台 + 实例 URL + 用户名”组合不重复。

连接包含什么

公开元数据:

  • 稳定连接 ID;
  • 平台种类;
  • 显示名称;
  • 实例首页 URL;
  • 验证后取得的用户名。

敏感数据:

  • Personal Access Token,仅存入 VS Code SecretStorage。

Token 不会出现在连接对象、settings.json、remote URL、仓库配置、输出日志或错误信息中。

添加连接

入口任选其一:

  • “分支、更改与远程” → “托管平台” → “添加连接”;
  • 视图标题的插头按钮;
  • 命令面板 → “TriForge Git: 连接 GitHub / GitLab / Gitea”。

步骤:

  1. 选择平台。
  2. 输入实例首页 URL,不要输入 API 端点。
  3. 输入 Token。
  4. TriForge 规范化 URL 并调用平台 /user API。
  5. 验证成功后保存实际用户名和 Token。

默认地址:

平台 首页 URL TriForge 推导的 API 根地址
GitHub https://github.com https://api.github.com
GitLab https://gitlab.com https://gitlab.com/api/v4
Gitea https://gitea.com https://gitea.com/api/v1

自建实例可以带路径前缀,例如 https://code.example.com/gitea。详见 自建实例

HTTP 警告

输入 http:// 地址时会出现模态警告。继续意味着 Token 和 Git 内容可能被同一网络中的其他人截获。除隔离的本机测试环境外,应使用有效 HTTPS。

修改连接

点击托管平台连接行右侧编辑图标,或运行“修改托管平台连接”。流程有三步:

  1. 修改显示名称;
  2. 修改实例首页 URL;
  3. 确认 Token。

如果 URL 没变化,Token 输入框留空会继续使用现有 Token;输入新内容则替换 Token。

如果 URL 发生变化,必须输入新 Token。TriForge 不会把旧 Token 静默发送给另一台服务器,即使新旧地址属于同一种平台。

保存前会再次调用新配置的 /user API。验证失败时不会用未验证数据替换原连接。

删除连接

点击连接行右侧删除图标或运行“断开远程实例”。确认后:

  • 删除连接元数据;
  • 删除该连接在 SecretStorage 中的 Token;
  • 刷新三个 TriForge 视图。

不会自动:

  • 删除项目 .git/config 中的 remote;
  • 删除本地分支或提交;
  • 删除远程平台上的仓库;
  • 撤销已经完成的 Push。

这是有意区分“平台凭据管理”和“仓库远程配置”。

多账号和多实例

可以添加:

  • GitHub 个人账号 A 与账号 B;
  • GitLab.com 与公司自建 GitLab;
  • 多个自建 Gitea;
  • GitHub.com 与 GitHub Enterprise Server。

建议给连接使用一眼可辨的显示名称,例如:

GitHub · 个人
GitLab · 公司
Gitea · 家庭服务器

同步推送的勾选框按“连接”工作,不只是按平台工作。因此两个 GitLab 连接会显示为两个独立目标。

连接与 Git remote 如何匹配

Fetch/Pull/Push 前,TriForge会把 remote 的 HTTPS URL 与连接实例进行严格匹配:

  • 主机名必须一致;
  • 自建实例路径前缀必须一致;
  • 不接受 URL 中嵌入凭据;
  • SSH、SCP 和自定义 remote helper 不会获得平台 PAT。

若一个 remote 没有任何安全匹配的连接,Git 可能使用本机已有 credential helper,或者在非交互模式下认证失败。连接成功不代表所有任意 remote 都会自动拿到 Token。

为什么系统 Git 或 VS Code 还可能弹登录窗口

TriForge 只控制自己发起的 Git 子进程。以下入口属于不同认证路径:

  • VS Code 内置源代码管理器的 Push/Pull;
  • 终端中手动执行 git push
  • 第三方 Git 扩展;
  • SSH remote。

它们可能调用 Git Credential Manager、Keychain、SSH Agent 或其他 helper。TriForge 连接过平台并不等于全局修改这些工具的登录状态。

跨设备同步

0.5.0 尚未把连接元数据加入 VS Code Settings Sync。即使以后选择同步非敏感元数据,SecretStorage 中的 Token 按 VS Code 设计也不会跨机器同步。

换电脑时应:

  1. 安装同一扩展 ID;
  2. 重新添加或恢复连接元数据;
  3. 在新设备上重新输入每个平台 Token;
  4. 重新克隆仓库或检查已有 .git/config

不要为了同步而把 Token 加密后写进 settings.json。如果解密密钥也能自动同步,就无法形成真正的安全边界。

继续阅读:Token 权限

Clone this wiki locally