同步
同步入口在頂欄,命令面板裡也能找到全部變體。所有網路操作在後臺執行,可以隨時取消。
獲取
- 獲取 — 獲取當前分支的上游;
- 獲取全部遠端 — 逐個遠端執行;
- 獲取指定遠端;
- 拉取標籤 — 只更新標籤,不合並。
獲取只更新遠端跟蹤引用,不改變工作區與分支。
拉取
拉取按「設定 → Git」中的策略整合上游:
| 策略 | 行為 |
|---|---|
| 合併 | 生成合並提交 |
| 變基 | 把本地提交重放到上游之後 |
| 僅快進 | 不能快進時拒絕,不做任何改動 |
也可以「從遠端分支拉取」:指定遠端與分支,把該分支按當前策略整合進當前分支。
推送
| 操作 | 說明 |
|---|---|
| 推送 | 推送到當前分支的上游 |
| 推送當前分支為… | 把 HEAD 釋出為遠端上的指定分支,不改動本地上游 |
| 推送到指定遠端 | 選擇遠端,按同名分支推送 |
| 設定 / 取消上游 | 為當前分支繫結或解綁上游 |
| 推送標籤 / 推送全部標籤 | 分別推送 |
| 帶租約強推 | 用 --force-with-lease,並且先寫快照 |
分支沒有上游時,推送會提示先設定上游或選擇目標分支,而不是直接失敗。
帶租約強推
強推之前:
- 記錄遠端當前尖端,寫成恢復快照,並用備份引用固定它;
- 快照寫不成功就不推送;
- 推送時用租約校驗:只有遠端仍停在你上次獲取到的位置,替換才會發生。
之後要找回,從恢復中心恢復;恢復同樣會先檢查遠端,被他人推送過就停止。
推送預檢
每一條外發路徑都會先跑本地預檢:普通推送、強推、設定上游、推送為指定分支、推送到指定遠端、推送單個標籤與全部標籤。
預檢只讀本地物件,在你按下推送之前不會向網路傳送任何內容。它掃描即將外發的提交區間,報告三類問題:
- 新增大檔案 — 超過閾值(預設 10 MiB),LFS 跟蹤的路徑會跳過;
- 衝突標記 — 新增行裡殘留的
<<<<<<<等標記; - 疑似金鑰 — 私鑰塊、雲服務與平臺令牌、高熵賦值。
處理方式:
- 私鑰內容不可覆蓋,必須移除並改寫提交,同時輪換該金鑰;
- 可覆蓋的阻斷項需要輸入
push確認; - 警告需要明確選擇「仍然推送」;
- 部分克隆無法掃描時直接拒絕,淺克隆會把報告標為不完整,而不是假裝完整。
閾值在「設定 → Git → 推送預檢大檔案閾值」裡調整。
自動獲取
「設定 → Git → 自動獲取間隔」可以按分鐘間隔在後臺獲取全部遠端,0 表示關閉。獲取不會合並,也不會改變工作區。
批次同步
在多倉庫工作區裡可以選中多個倉庫一起獲取或拉取,並得到每個倉庫的結果。見多倉庫工作區。
認證失敗
認證問題會被區分出來,並給出下一步:
- 開啟 Git 設定檢查遠端與憑據;
- 複製
ssh-add -l到終端,確認 SSH key 已載入; - 應用不儲存你的密碼,憑據由
git的 credential helper 管理;helper 沒配置時,先按 Git 的方式配置好再重試。
完整處理見故障排查。
最後更新於