與先前版本相比,新版本包含 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