Git 2.36 現已,本次更新包含來自超過 96 個貢獻者的功能和錯誤修復,其中 26 個是新貢獻者。該版本包含與最近的維護版本相同的修復,以解決 CVE-2022-24765 問題。
主要更新內容
-
增加了一個由
ort
驅動的新功能,即 --remerge-diff 選項,作為審查合併衝突解決方案的改進體驗。Git 的 --remerge-diff 會顯示有合併衝突的檔案和解決方案之間的差異。
- 更靈活的 fsync 設定。Git 2.36 引入了一套明顯更靈活的設定選項,以調整 Git 如何以及何時明確地
fsync
大量不同種類的檔案,而不僅僅是fsync
鬆散的物件。這個新變化的核心是兩個新的設定變數:core.fsync 和 core.fsyncMethod。 - 更嚴格的儲存庫所有權檢查。從 Git 2.35.2 開始,Git 改變了它的 default behavior,防止你在一個與當前使用者不同的使用者擁有的倉庫中執行 git 命令。這是為了防止 git 呼叫無意中執行了倉庫所有者設定的命令。你可以通過設定新的 safe.directory 設定來繞過這個檢查,包括其他使用者擁有的受信任儲存庫。safe.directory 選項現在解釋為將所有 Git 倉庫視為安全的,無論其所有者是誰。你可以在你的 --global 設定中設定這個選項,以便在有意義的情況下選擇不使用新的行為。
- git name-rev --stdin 已被棄用,使用時發出警告;使用 git name-rev --annotate-stdin 進行代替。
- git clone --filter=... --recurse-submodules 只使 top-level 部分克隆,而子模組則完全克隆。這一行為被更改為將相同的 filter 向下傳遞給子模組。
- 以及各種其他較小的更改和修復。
更多詳細資訊可檢視內容。