生活分享
Git 2.56 發布:GitHub 解讀更安全的衝突暫存、更快的合併基底搜尋與 path-walk 改進
GitHub 部落格 2026 年 9 月 28 日介紹開源 Git 專案新發布的 Git 2.56.0。主要受影響的是開發者與程式碼託管平台:新增 git add --resolved,避免解決合併衝突時誤把無關修改一併加入;尋找共同祖先的速度加快;path-walk 重新打包則可與 bitmap 及 delta islands 一起使用。
閱讀時間約 7 分鐘

發生了什麼事
GitHub 部落格於 2026 年 9 月 28 日刊出由 Elijah Newren 撰寫的文章,指開源 Git 專案剛發布 Git 2.56.0。Git 是開發者用來記錄與管理程式碼修改歷史的版本控制工具。GitHub 表示,這個版本收錄了來自超過 104 名貢獻者的功能與錯誤修正,其中 39 人是新貢獻者。文章挑選了 GitHub 認為最值得關注的改動,包括三項:更安全地標記「衝突已解決」、更快地找出共同祖先,以及讓 path-walk 重新打包更適合伺服器使用。
三大重點改動
閱讀完整文字說明
消息會先蒐集來源、獨立查核,再交由 Jev 判斷。
git add --resolved:只暫存已解決的衝突
合併兩條開發分支時,如果雙方改到同一處,Git 無法自動決定保留哪一份,就會發生「合併衝突」。Git 會在檔案裡留下「衝突標記」,把雙方不同的內容標示出來。GitHub 解釋,解決衝突分成兩步:第一步是修改檔案,直到內容正確;第二步是把這些檔案「暫存」,也就是放進 Git 的索引,告訴 Git 衝突已經解決。索引是下一次提交前的準備區。問題出在第二步。常用的 git add -u 會暫存所有已修改、且受 Git 追蹤的檔案,因此可能把與衝突無關的本地修改一起暫存;如果漏看了一處衝突標記,也可能把仍有標記的檔案暫存進去。Git 2.56 新增的 git add --resolved 只處理索引中目前仍未合併的檔案,暫存前會先掃描是否還留有衝突標記。如果發現殘留標記,它會列出受影響的檔案,並且不改動索引。
$ git add --resolved
fatal: the following paths still have conflict markers: recipe.txt
$ # Edit recipe.txt and remove the conflict markers.
$ git add --resolved
$ git status --short
M notes.txt
M recipe.txt在上面的例子中,第一次執行時,recipe.txt 仍有衝突標記,所以 Git 拒絕暫存。清除標記後再執行,recipe.txt 會被標記為已解決並暫存,而無關的 notes.txt 修改則維持未暫存。GitHub 補充,這個模式可以搭配 pathspec(指定要處理哪些路徑的條件)縮小範圍,但在選定範圍內採取「全有或全無」的檢查:只要其中一個檔案仍有衝突標記,就一個都不會暫存。已解決的刪除以及二進位檔案的衝突沒有文字標記,可以正常暫存。它不能與 git add -u 或 git add -A 同時使用,也會略過從未發生衝突的追蹤檔案。
合併基底搜尋可以提早停止
「合併基底」指兩個提交的最佳共同祖先,也就是雙方分岔前最近的共同版本。合併、三點 diff 比較,以及託管平台上的 pull request 比較,都需要先找出它。GitHub 解釋,Git 會從兩端的最新提交往回走;兩邊都能走到的提交,就是合併基底的候選。由於交叉合併可能產生多個合併基底,Git 必須繼續搜尋,直到確定已全部找到。舊有的停止規則可能在已經不可能再出現新合併基底之後,仍繼續處理大量舊歷史。Git 2.56 會追蹤佇列中仍只屬於其中一方的提交數量。只要其中一方已經走完,就不可能再出現新的交會點,Git 便可以停止,同時仍會回傳所有合併基底。
path-walk 重新打包可搭配 bitmap 與 delta islands
Git 重新打包(repack)儲存庫時,會尋找內容相似的物件,改用「差異」形式儲存以節省空間。GitHub 表示,傳統做法依名稱雜湊把候選物件分組,path-walk 則依檔案在目錄樹中的位置走訪物件,讓同一路徑的不同版本排在一起,往往能找到更好的差異組合。不過,託管平台通常會用 reachability bitmap(用來快速列出需要傳送哪些物件的索引),有些平台還會用 delta islands(防止一組參照的物件依賴只存在於另一組參照中的物件)。過去 path-walk 與這兩者都不相容,Git 2.56 移除了這兩項限制。GitHub 強調,新版並沒有預設啟用 path-walk 重新打包,只是讓大型儲存庫託管方能夠評估它節省儲存空間的效果。
GitHub 公布的效能數字對照
| 場景 | 改動前 | Git 2.56 / 新做法 | 來源說法 |
|---|---|---|---|
| 真實 monorepo(把大量專案放在同一個儲存庫)的合併基底搜尋 | 0.68 秒 | 0.01 秒 | GitHub 引述的單一案例 |
| Linux 核心 git merge-base --all v4.8 v4.9 | 167,441 步、0.29 秒 | 3,887 步、0.01 秒 | 使用預設 v2 commit-graph |
| 兩個大型 monorepo 的正式環境評估 | — | 其中一個有許多案例快約 70 倍;另一個平均快約 20 倍 | GitHub 所述的評估結果 |
| Fluent UI 儲存庫重新打包後的大小 | 558.5 MB(一般帶 bitmap 的重新打包) | 164.4 MB(--path-walk) | 約小 71%,為強制重算差異的基準測試 |
其他值得留意的新指令
- git history drop:GitHub 表示,實驗性的 git history 指令在 Git 2.54 推出 reword 與 split,Git 2.55 加入 fixup,Git 2.56 再加入 drop。drop 會移除選定的提交,並把它之後的提交重新套用到它的上一個提交上。如果重新套用會發生衝突或覆寫本地修改,指令就會中止。它不能處理含有合併提交的歷史,也不能移除根提交或合併提交。
- git refs 工具:Git 2.56 繼續把低階的參照管理集中到 git refs 之下,包括 create、update、delete 和 rename。參照是指向某個提交的名稱,例如分支。
- git branch --delete-merged:GitHub 表示,新版加入一次清理多個本地主題分支的方式,適用於工作已併入上游的分支。文章示例附帶 --dry-run 選項。
對一般使用者有什麼影響
對日常使用 Git 的開發者來說,最直接的變化是 git add --resolved。如果合併時手上已有無關的本地修改,它就像一道安全欄,能減少把未解決的衝突或無關改動一起暫存的機會。合併基底搜尋的改進,主要影響歷史龐大、合併過大量舊分支的儲存庫;path-walk 相關改動則主要與儲存庫託管方有關。非開發者一般不會直接接觸這些改動。是否升級、何時升級,應依團隊自身的工具與相容性需要決定。
常見問題
Git 2.56 是什麼時候發布的?
GitHub 部落格於 2026 年 9 月 28 日發文,指開源 Git 專案剛發布 Git 2.56.0。
git add --resolved 和 git add -u 有什麼不同?
GitHub 表示,git add -u 會暫存所有已修改的追蹤檔案,包括與衝突無關的修改。git add --resolved 只處理目前仍未合併的衝突檔案;只要發現殘留的衝突標記,就不會暫存任何檔案。兩者不能同時使用。
新版會自動讓儲存庫變小嗎?
不會。GitHub 表示,Git 2.56 並未預設啟用 path-walk 重新打包,只是移除了它與 bitmap 及 delta islands 不相容的限制,讓託管方可以自行評估。
git history drop 可以放心在正式專案使用嗎?
GitHub 指出,git history 仍屬實驗性質,不能處理含有合併提交的歷史,也不能移除根提交或合併提交。使用前最好先了解這些限制。
git refs rename 和 git branch -m 一樣嗎?
不一樣。GitHub 指出,git refs rename 會移動參照及其 reflog(參照的變動紀錄),但不會像 git branch -m 那樣一併調整分支設定。git refs 系列是刻意設計的低階指令。
同主題延伸閱讀
生活分享
Cloudflare 推出 Traces 公開測試版:網站經營者可在一條時間軸看清請求經過平台的每一步
Cloudflare 於 2026 年 10 月 2 日宣布推出 Cloudflare Traces 公開測試版。使用 Cloudflare 的網站經營者與開發者,可在同一條時間軸上看到請求經過安全規則、快取、路由與來源伺服器的過程,方便找出請求被封鎖或變慢的原因。新的計價方式自 2026 年 12 月 1 日起生效。資訊出自 Cloudflare 官方部落格。
生活分享
Cloudflare 透過 AI Gateway 推出 Web Search API,要求搜尋合作夥伴遵守爬蟲規範
Cloudflare 於 2026 年 10 月 2 日宣布推出 Web Search API,讓 AI 代理透過 AI Gateway 查詢即時網路資訊。首批合作夥伴為 Ceramic.ai、Exa 與 Linkup。Cloudflare 表示,這些夥伴的爬蟲須遵守 Verified bots 規範並標示來源。這件事關係到打造 AI 應用的開發者,也關係到內容可能被爬取的網站經營者。
生活分享
Cloudflare 開源 Streamline:示範如何用其雲端服務為直播加圖、為影片燒入字幕
Cloudflare 於 2026 年 10 月 2 日推出並開源開發者實驗平台 Streamline,示範開發者如何結合 Stream、Workers、Containers 與 Durable Objects,自行打造影片處理流程,例如為直播即時加上圖示、為影片加上字幕。本文說明它是什麼、如何運作、有哪些限制,以及對觀眾與開發者的意義。
生活分享
Google 發布 Gemini 4 Argon:先交網路防禦者試用,一般用戶仍要等
Google 於 2026 年 9 月 30 日宣布新一代 AI 模型 Gemini 4 Argon,目前只透過 Fairwind Program 開放給受信任的網路安全防禦單位,一般用戶與開發者仍須等待。以下整理 Google 公布的能力、價格、安全措施,以及對一般讀者的影響;所有數據均為 Google 自述。
最新旅遊情報攻略

情報
2026 韓國楓葉預測:雪嶽山 10 月 20 日、首爾近郊 10 月底、內藏山與漢拏山 11 月上旬
韓國山林廳 2026 年 9 月 22 日公布的楓紅高峰預測:雪嶽山 10 月 20 日,春川、國立樹木園到首爾植物園落在 10 月 28 日到 11 月 2 日,內藏山 11 月 4 日、漢拏山 11 月 6 日,整體比最近 5 年晚約 0.8 天。整理各地楓樹與銀杏的預測日、首爾出發怎麼排,以及出發前去哪裡看即時楓況。2026 年 10 月查證。
- 季節活動
- 自然
- 觀景

攻略胡志明市
胡志明市到頭頓一日遊:白藤碼頭搭高速船、船票與班次,下船就是胡梅纜車與耶穌基督像
人在胡志明市挪一天去頭頓看海:市中心的白藤高速船碼頭搭船,航程 120 分鐘到頭頓的胡梅碼頭,平日成人 320,000 越南盾、週末 350,000,回程末班平日 15:00。下船就是胡梅纜車站,同一條路上有白宮,小山頂上是耶穌基督像。平日一天只有兩班船,整天要從末班船倒推著排。
- 交通
- 行程範例
- 海灘

攻略沖繩
沖繩不開車攻略:單軌只到浦添,美麗海水族館要坐兩個多小時的巴士,回那霸的最後一班直達車 17:22 就開走
不租車的沖繩怎麼移動:那霸市區靠沖繩都市單軌電車(ゆいレール),那霸機場站到終點てだこ浦西 19 站、17 公里、37 分鐘,一日券 1,000 日圓;美麗海水族館有那霸機場直達的高速巴士,單程 2,000 日圓起、官方時刻表上 2 小時上下,下車後還要走 10 分鐘;古宇利島要在今帰仁村役場轉車,當天來回光坐車就六個半小時;回程的最後一班直達車 17:22 就從記念公園前開走(2026 年 9 月查證)。
- 交通
- 行程範例
- 預算