Skip to Content
文档同步

同步

同步入口在顶栏,命令面板里也能找到全部变体。所有网络操作在后台执行,可以随时取消。

获取

  • 获取 — 获取当前分支的上游;
  • 获取全部远程 — 逐个远程执行;
  • 获取指定远程;
  • 拉取标签 — 只更新标签,不合并。

获取只更新远程跟踪引用,不改变工作区与分支。

拉取

拉取按「设置 → Git」中的策略整合上游:

策略行为
合并生成合并提交
变基把本地提交重放到上游之后
仅快进不能快进时拒绝,不做任何改动

也可以「从远程分支拉取」:指定远程与分支,把该分支按当前策略整合进当前分支。

推送

操作说明
推送推送到当前分支的上游
推送当前分支为…把 HEAD 发布为远程上的指定分支,不改动本地上游
推送到指定远程选择远端,按同名分支推送
设置 / 取消上游为当前分支绑定或解绑上游
推送标签 / 推送全部标签分别推送
带租约强推用 --force-with-lease,并且先写快照

分支没有上游时,推送会提示先设置上游或选择目标分支,而不是直接失败。

带租约强推

强推之前:

  1. 记录远端当前尖端,写成恢复快照,并用备份引用固定它;
  2. 快照写不成功就不推送;
  3. 推送时用租约校验:只有远端仍停在你上次获取到的位置,替换才会发生。

之后要找回,从恢复中心恢复;恢复同样会先检查远端,被他人推送过就停止。

推送预检

每一条外发路径都会先跑本地预检:普通推送、强推、设置上游、推送为指定分支、推送到指定远程、推送单个标签与全部标签。

预检只读本地对象,在你按下推送之前不会向网络发送任何内容。它扫描即将外发的提交区间,报告三类问题:

  • 新增大文件 — 超过阈值(默认 10 MiB),LFS 跟踪的路径会跳过;
  • 冲突标记 — 新增行里残留的 <<<<<<< 等标记;
  • 疑似密钥 — 私钥块、云服务与平台令牌、高熵赋值。

处理方式:

  • 私钥内容不可覆盖,必须移除并改写提交,同时轮换该密钥;
  • 可覆盖的阻断项需要输入 push 确认;
  • 警告需要明确选择「仍然推送」;
  • 部分克隆无法扫描时直接拒绝,浅克隆会把报告标为不完整,而不是假装完整。

阈值在「设置 → Git → 推送预检大文件阈值」里调整。

自动获取

「设置 → Git → 自动获取间隔」可以按分钟间隔在后台获取全部远程,0 表示关闭。获取不会合并,也不会改变工作区。

批量同步

在多仓库工作区里可以选中多个仓库一起获取或拉取,并得到每个仓库的结果。见多仓库工作区。

认证失败

认证问题会被区分出来,并给出下一步:

  • 打开 Git 设置检查远端与凭据;
  • 复制 ssh-add -l 到终端,确认 SSH key 已加载;
  • 应用不保存你的密码,凭据由 git 的 credential helper 管理;helper 没配置时,先按 Git 的方式配置好再重试。

完整处理见故障排查。

最后更新于