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 的方式配置好再重試。

完整處理見故障排查。

最後更新於