同步
同步入口在顶栏,命令面板里也能找到全部变体。所有网络操作在后台执行,可以随时取消。
获取
- 获取 — 获取当前分支的上游;
- 获取全部远程 — 逐个远程执行;
- 获取指定远程;
- 拉取标签 — 只更新标签,不合并。
获取只更新远程跟踪引用,不改变工作区与分支。
拉取
拉取按「设置 → Git」中的策略整合上游:
| 策略 | 行为 |
|---|---|
| 合并 | 生成合并提交 |
| 变基 | 把本地提交重放到上游之后 |
| 仅快进 | 不能快进时拒绝,不做任何改动 |
也可以「从远程分支拉取」:指定远程与分支,把该分支按当前策略整合进当前分支。
推送
| 操作 | 说明 |
|---|---|
| 推送 | 推送到当前分支的上游 |
| 推送当前分支为… | 把 HEAD 发布为远程上的指定分支,不改动本地上游 |
| 推送到指定远程 | 选择远端,按同名分支推送 |
| 设置 / 取消上游 | 为当前分支绑定或解绑上游 |
| 推送标签 / 推送全部标签 | 分别推送 |
| 带租约强推 | 用 --force-with-lease,并且先写快照 |
分支没有上游时,推送会提示先设置上游或选择目标分支,而不是直接失败。
带租约强推
强推之前:
- 记录远端当前尖端,写成恢复快照,并用备份引用固定它;
- 快照写不成功就不推送;
- 推送时用租约校验:只有远端仍停在你上次获取到的位置,替换才会发生。
之后要找回,从恢复中心恢复;恢复同样会先检查远端,被他人推送过就停止。
推送预检
每一条外发路径都会先跑本地预检:普通推送、强推、设置上游、推送为指定分支、推送到指定远程、推送单个标签与全部标签。
预检只读本地对象,在你按下推送之前不会向网络发送任何内容。它扫描即将外发的提交区间,报告三类问题:
- 新增大文件 — 超过阈值(默认 10 MiB),LFS 跟踪的路径会跳过;
- 冲突标记 — 新增行里残留的
<<<<<<<等标记; - 疑似密钥 — 私钥块、云服务与平台令牌、高熵赋值。
处理方式:
- 私钥内容不可覆盖,必须移除并改写提交,同时轮换该密钥;
- 可覆盖的阻断项需要输入
push确认; - 警告需要明确选择「仍然推送」;
- 部分克隆无法扫描时直接拒绝,浅克隆会把报告标为不完整,而不是假装完整。
阈值在「设置 → Git → 推送预检大文件阈值」里调整。
自动获取
「设置 → Git → 自动获取间隔」可以按分钟间隔在后台获取全部远程,0 表示关闭。获取不会合并,也不会改变工作区。
批量同步
在多仓库工作区里可以选中多个仓库一起获取或拉取,并得到每个仓库的结果。见多仓库工作区。
认证失败
认证问题会被区分出来,并给出下一步:
- 打开 Git 设置检查远端与凭据;
- 复制
ssh-add -l到终端,确认 SSH key 已加载; - 应用不保存你的密码,凭据由
git的 credential helper 管理;helper 没配置时,先按 Git 的方式配置好再重试。
完整处理见故障排查。
最后更新于