Git 2.43已經發布,這是它的新聞

Git 2.43

Git 2.43 橫幅

經過三個月的開發, Git 專案最近宣布發布新版本 Git 2.43,該版本包含來自 80 多位貢獻者的新功能和錯誤修復,其中 17 位是新貢獻者。

Git 2.43為「git repack」指令引入了「--filter」和「--filter-to」選項。這些選項可讓您根據指定的物件篩選器重新打包儲存庫。

此外,如有必要,可以將不符合濾鏡的物件移動到單獨的位置。 這些選項對於根據某些標準對儲存庫進行分割非常有用,例如刪除不必要的或過大的物件。 儘管進行了這些修改,但透過部分克隆存取儲存庫所有部分的能力仍然保留。

新版 git repack 的另一個顯著變化是,它現在支援處理多個 Cruft 套件,以及使用物件過濾器拆分儲存庫內容。

此外,能夠處理包含無法存取物件資訊的多個捆綁檔案(通常稱為「雜亂捆綁包」)也值得關注。這些文件在程式碼倉庫中未被引用;也就是說,它們沒有透過分支或標籤進行連結。隨著新的 `git repack --max-cruft-size` 選項的引入,現在可以指定單一捆綁檔案的最大大小,並將無法存取物件的資料庫分割成多個較小的捆綁檔案。

當重新打包具有大量無法存取物件的儲存庫時,使用多個小套件檔案而不是一個大套件檔案可以顯著減少 I/O 操作。 這是因為每次操作都不需要涵蓋所有數據,從而提高了製程的效率。

值得注意的是,for-each-ref 指令已更新,新增了與格式相關的功能,使用者現在可以告訴 git for-each-ref 將儲存庫中指定的任何 .mailmap 規則套用於自訂格式說明符,包括 %(authorname)、%(committeremail) 等。

此外,值得注意的是,當「git revert」回滾提交並記錄回滾訊息時,其預設日誌訊息已被修改,以鼓勵人們用自己的語言更好地描述複雜的「回滾」情況。

新版本的其他顯著變化包括:

  • Git 的 CI 系統發生了重大變化,當新的推送發生到正在進行 CI 檢查的分支時,允許中止正在進行的 CI 運行。
  • Git 現在也可以使用並向 Coverity(Synopsys 的靜態分析工具)報告結果。
  • «git 合併文件» 現在有一種方法可以讀取要從 blob 物件合併的三種內容變體。
  • 新增了應用 .mailmap 規則來指定使用選項指定的格式的功能 -格式例如 “%(authorname)”和“%(committeremail)”到“git for-each-ref» 和類似的命令。
  • 現在選項 –rfc 和 –subject-prefix 他們一起工作
  • 古代寫下的一條訊息阻止了一個分支被刪除,說它已經在其他地方記錄下來了。 但現在建議將一個分支一分為二或重新基址為已檢出的分支,並防止使用相同的程式碼路徑進行修改。 該訊息已被改寫為該分支「正在使用」以避免混淆。
  • «git 更新索引»現在您可以選擇»–顯示索引版本» 檢查磁碟上索引檔案所使用的索引格式的版本。
  • 自訂 git 日誌格式的新功能,允許使用者使用新的佔位符添加裝飾 %(裝飾) ,它帶有可選的修飾符,如前綴、後綴、分隔符等。

最後,如果您有興趣了解更多信息,可以點擊以下鏈接查看詳情


在 Google 中將其新增為首選來源