上週 介紹了新版Git 2.23分佈式源代碼控制系統的發布。 與以前的版本相比,此新版本僅進行了500多次更改。
但是之間 最近在此新版本中引入的改進,最受關注的是 git switch
y git restore
,這些 是兩個實驗命令 具體 可以在某種程度上用來替換命令 git checkout
。 對於那些剛接觸 git 的人來說,要知道它是最流行、最可靠、高性能的版本控制系統之一,提供基於分支和合併的靈活的非線性開發工具。
為了確保歷史記錄的完整性和對追溯性更改的抵抗力,每次提交都會使用所有先前歷史記錄的隱式哈希,並且各個標籤和提交開發人員也可以進行數字簽名。
git 2.23的主要新功能
在這個新版本的git中 提出了上述實驗命令 “git switch
y git restore
“。
這些新命令 旨在分離功能 «git checkout
» 鬆散的,例如分支操作(更改和創建)和恢復 工作目錄中的文件數量(«git checkout $ commit - $ filename
»)或立即進入登台區域(«--staging
«,«中沒有類似物«git checkout
«)。
git checkout
是一個命令,例如,允許在存儲庫中更改分支或創建新分支。
如果用戶想要編輯單個文件,甚至將硬盤驅動器上存儲庫中的文件名重置為與他們的文件相似,他們也可以使用 git checkout。 除了這些可能性之外,還可以使用 git checkout 命令執行其他操作。
值得注意的是 與«git checkout
“,”git restore
» 從還原的目錄中刪除未跟踪的文件 (默認情況下為“ –No-overlay”)。
同 git restore
,更容易準確地確定哪些文件將更改、它們將如何更改以及它們將更改的位置。 其實不用使用複雜的命令 git checkout
, git restore
提供2個選項來指定還原的更改將移至何處。
因此,如果您傳遞參數 --worktree
(或者您不指定任何內容),更改將對您硬盤上的存儲庫進行。 但是,如果您傳遞參數 --staged
,更改將寫入索引。 最後,如果您傳遞兩個參數,則更改將轉到兩個相應的位置。
在git 2.23中,選項“git merge --quit
«,例如«–abort», 停止分支合併過程,但保留工作目錄不變。 如果希望將手動合併期間所做的一些更改作為單獨的提交發布,則此選項可能很有用。
指令 git clone
, git fetch
y git push
現在,他們考慮了鏈接存儲庫(備用)中提交的存在。
選項«git blame --ignore-rev
»ÿ«--ignore-revs-file
»跳過略作修改的提交(例如,格式修復);
另一方面我們可以發現添加了選項 «git cherry-pick --skip
»跳過衝突妥協(序列的記憶類似物«git reset
y git cherry-pick --continue
«)
從這個版本開始, git log
默認情況下將考慮郵件映射所做的更改,類似於已經發生的情況 git shortlog
.
圖表更新操作 commit (core.commitGraph)
2.18 中引入的速度顯著加快。 在使用多個模板的情況下,它還加快了每個引用的 git 速度,並減少了調用次數 auto-gc
en«git fetch --multiple
“。
配置已添加 狀態.aheadBehind,設置選項«git status - [no-] ahead-behind
»連續。
«git branch --list
» 現在總是在列表的開頭顯示單獨的 HEAD,無論區域設置如何。
除了這些改進之外, 這個新版本的 Git 現在可以使用另一個解決方案的引用作為檢查連接對象的一部分 當您克隆一個存儲庫並在克隆期間或在另一個存儲庫中指定另一個存儲庫時,可能會發生這種情況。
Si 您想了解更多 你可以諮詢 以下鏈接。