Git 2.36 源代碼控制發布

經過三個月的開發,分散式原始碼控制系統Git 2.36已經發布。 Git 是最受歡迎、可靠和高效能的版本控制系統之一,提供基於分支和合併的靈活的非線性開發工具。 為了確保歷史記錄的完整性和對追溯更改的抵抗力,在每次提交中都會使用整個先前歷史記錄的隱式哈希;還可以使用開發人員的數位簽名來驗證各個標籤和提交。

與先前版本相比,新版本進行了 717 處變更,共有 96 名開發人員參與準備,其中 26 名開發人員首次參與開發。 主要創新點:

  • “git log”和“git show”命令現在有一個“--remerge-diff”選項,允許您在處理“merge”命令後顯示合併的總體結果與提交中反映的實際數據之間的差異,這使您可以清楚地評估因解決合併衝突而做出的變更。 普通的「git show」指令會縮排不同的衝突解決方案,讓變更難以理解。 例如,在下面的螢幕截圖中,不帶縮排的“+/-”顯示了與第一個分支的註釋中將sha1 重命名為oid 相關的衝突的最後解決方案,帶有縮排的“+/ -」顯示了最初的衝突解決方案。解決由於 dwim_ref() 函數的第二個分支中出現附加參數而引起的衝突。
    Git 2.36 源代碼控制發布

    使用「--remerge-diff」選項時,不會針對每個父分支區分衝突解決方案之間的差異,但會顯示存在合併衝突的檔案和已解決衝突的檔案之間的整體差異。

    Git 2.36 源代碼控制發布

  • 透過呼叫 fsync() 函數,提高了配置刷新磁碟快取行為的彈性。 先前可用的core.fsyncObjectFiles 參數已被拆分為兩個配置變數core.fsync 和core.fsyncMethod,提供了將fsync 不僅應用於物件檔案(.git/objects)的能力,而且還應用於其他git 結構,例如連結( .git /refs)、引用日誌和打包檔案。

    使用 core.fsync 變量,您可以指定內部 Git 結構的列表,在寫入操作後將另外呼叫 fsync。 core.fsyncMethod 變數可讓您選擇刷新快取的方法,例如,您可以選擇 fsync 以使用同名的系統調用,或指定 writeout-only 以使用 pagecache writeback。

  • 為了防止操縱其他使用者將 .git 目錄替換為共用部分的漏洞,儲存庫擁有者驗證得到了加強。 現在只允許在它們自己的“.git”目錄中執行任何 git 命令。 如果儲存庫的目錄屬於另一個用戶,則預設會顯示錯誤。 可以使用 safe.directory 設定來停用此行為。
  • “git cat-file”命令,用於輸出 Git 物件的來源內容,已補充了“--batch-command”選項,該選項補充了先前可用的“--batch”和“--batch-check” ”指令能夠自適應地選擇輸出類型,使用「contents <object>」顯示內容或「info <object>」顯示有關物件的資訊。 此外,也支援「flush」指令來刷新輸出緩衝區。
  • “git ls-tree”指令旨在產生物件樹的內容列表,新增了“--oid-only”(“--object-only”)選項,類似於“--name-only” ”,僅顯示對象標識符以簡化腳本呼叫。 還實現了「--format」選項,它允許您透過組合有關模式、類型、名稱和大小的資訊來定義自己的輸出格式。
  • 「git bisect run」指令實現了對未設定腳本可執行檔標誌的偵測,在這種情況下顯示代碼為126 或127 的錯誤(以前,如果腳本無法執行,則所有修訂版都被標記為有問題) 。
  • 在「git fetch」指令中新增了 --refetch 選項,以取得所有對象,而無需通知對方本機系統上已有的內容。 當本地資料的完整性不確定時,此行為對於從故障中恢復非常有用。
  • “git update-index”、“git checkout-index”、“git read-tree”和“git clean”命令現在支援部分索引,以提高效能並節省執行部分索引操作的儲存庫的空間。克隆(稀疏結帳) )。
  • 「git clone —filter=… —recurse-submodules」命令的行為已更改,現在會導致子模組的部分克隆(以前,在執行此類命令時,過濾器僅應用於主要內容,子模組被完全克隆而不考慮過濾器)。
  • “git bundle”命令添加了對指定過濾器的支持,以選擇性地放置內容,類似於部分克隆操作。
  • 在「git分支」指令中新增了「--recurse-submodules」選項以遞歸地遍歷子模組。
  • Userdiff 為 Kotlin 語言提供了一個新的處理程序。

來源: opennet.ru

添加評論