發布分佈式源代碼控制系統 Git 2.23

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

與先前版本相比,新版本包含 505 個變更,由 77 名開發人員參與準備,其中 26 名開發人員首次參與開發。 基本的 創新:

  • 引入了實驗性的「git switch」和「git Restore」指令來分離鬆散耦合的「git checkout」功能,例如分支操作(切換和建立)和復原工作目錄中的檔案(「git checkout $commit - $filename ”)或立即進入暫存區域(“—staging”,在“git checkout”中沒有類似內容)。 值得注意的是,與「git checkout」不同,「git Restore」會從正在復原的目錄中刪除未追蹤的檔案(預設為「--no-overlay」)。
  • 新增了「git merge –quit」選項,該選項與「-abort」類似,停止合併分支的流程,但保持工作目錄不變。 如果手動合併期間所做的某些變更更適合作為單獨的提交發布,則此選項可能很有用。
  • 「git clone」、「git fetch」和「git Push」指令現在會考慮連結儲存庫中提交的存在(候補);
  • 添加 「git Blame —ignore-rev」和「—ignore-revs-file」選項可讓您跳過進行細微更改的提交(例如,格式修復);
  • 新增了「gitcherry-pick—skip」選項來跳過衝突的提交(「gitreset&&gitcherry-pick—continue」序列的記憶模擬);
  • 新增了 status.aheadBehind 設置,永久修復了“git status -[no-]ahead-behind”選項;
  • 在此版本中,「git log」預設會考慮 mailmap 所做的更改,類似於 git Shortlog 已經做的事情;
  • 2.18 中引入的提交圖(core.commitGraph)實驗快取的更新操作已顯著加速。 當使用多個範本時,也使 git for-each-ref 更快,並減少了「git fetch —multiple」中對 auto-gc 的呼叫次數;
  • 「gitbranch--list」現在總是在清單的開頭顯示分離的 HEAD,無論區域設定如何。

來源: opennet.ru

添加評論