Git 2.24 發布,分散式版本控制系統

←手機掃碼閱讀     admin @ 2019-11-08 , reply:0

Git 2.24 已經發布,該版本包含了來自 78 個貢獻者的功能增加和 bug 修復。其中帶來一些亮點,比如特性宏,commit-graph,新可選全新的倉庫歷史重寫工具 filter-repo 等,內容如下:

Feature macros

在 Git 2.24 中,可以選擇使用 feature 宏功能(一種包含許多其他功能的 Git 配置)。這些是由 Git 的開發人員手動選擇的,通過它可以選擇加入某個功能或根據存儲庫的特性採用一些設置。例如,假設有一個特別大的存儲庫,當我們發現其運行緩慢時,通常會將 index.version 設置為 4,但這並不是好的解決方法。而現在有另外一種選擇:通過下面方式啟用 feature.manyFiles:


git config feature.manyFiles true

目前 feature 宏功能只包括 feature.experimenta l和 feature.manyFiles,以後可能會新添加新的宏。

Commit graphs by default(默認啟用提交圖)

在 Git 2.24 中,默認會啟用提交圖,此前該功能是在實驗性 core.commitGraph 配置啟用,但經過大量測試,已經可以默認啟用。除了之外,還有一些提交圖其他的改進:

  • 所有 commit-graph 子命令(例如 git commit-graph write,git commit-graph verify 等)都支持 -[no-] progress。
  • 引入了一個新的配置值,用於在獲取時自動更新 commit-graph 文件,該配置值利用提交圖鏈將部分歷史記錄寫入提交圖鏈中,以供以後壓縮。
  • 修復了許多錯誤,以改善 commit-graph 命令的性能和可靠性,尤其是在面對損壞的存儲庫時。
  • commit-graph 命令現在還支持Git的最新跟蹤機制 trace2

Alternative history rewriting tools

如果想對存儲庫的歷史記錄執行複雜的操作(例如從存儲庫的歷史記錄中刪除文件或提取與一個目錄有關的歷史記錄),可以試用 git filter-branch。 git filter-branch 是一個歷史悠久的且功能強大的重寫歷史記錄的工具。

但是,git filter-branch 使用非常複雜,而且操作特別慢,並且經常會導致很多意想不到的誤操作導致倉庫庫損壞和數據丟失。

Git 2.24 中推薦 git filter-repo(github/newren/git-filter-repo)。git filter-repo 可以避免用戶在使用 git filter-branch 遇到的很多坑。git filter-repo 無需按順序重新處理每個提交,而是對歷史記錄進行高效的流表示,可以更高效地運作。該工具功能極其強大,其所有功能都具有詳細的文檔。下面是有關如何使用 git filter-repo 的一些特點:

  • git filter-repo --analyze 提供了易於理解的度量選擇,用於分析存儲庫的大小。這包括每種對象有多少個,文件和目錄最大,擴展名佔用最多空間等等
  • 可以使用 --path-{glob,regex} 和類似的選項來過濾存儲庫的歷史記錄,使其僅包含某些路徑
  • 重寫歷史記錄時,所有重寫的提交(連同其祖先)將獲得一個新的 SHA-1 來識別它們。默認情況下,git filter-repo 會更新對這些 SHA-1 的所有其他引用,就像其他引用它們的提交消息一樣
  • 可以對歷史記錄執行"查找和替換"操作
  • git filter-repo 是可擴展的,它提供了一個靈活的介面,用於在 Python 中指定回調以及定義新的子命令

 更多詳情請見發布說明

參考:

http://baijiahao.baidu.com/s?id=1649358058435736187&wfr=spider&for=pc





[admin ]

來源:OsChina
連結:https://www.oschina.net/news/111165/git-2-24-released
Git 2.24 發布,分散式版本控制系統已經有69次圍觀

http://coctec.com/news/all/show-post-218917.html