Git 2.19 对Diff、Branch和Grep等做了改进
\Git的最新版帶來了豐富的新功能以及內(nèi)部更新,包括改進的diff、branch和grep,更好的命令行補全,新的range-diff命令等。\\Git diff現(xiàn)在可以正確地標記以intent-to-add參數(shù)添加的新文件路徑。intent-to-add可以和git add命令一起使用,完整寫法即git add --intent-to-add\u0026lt;文件名\u0026gt;,以給工作樹添加一個空文件。這很有用,這樣git diff可以在其輸出中展示新文件的完整內(nèi)容。但是之前,diff中的文件路徑?jīng)]有被標記成新的。在一份相關(guān)說明提到,apply命令也改進了其對intent-to-add選項的處理。事實上,現(xiàn)在在應(yīng)用補丁時,給索引添加新路徑只影響到用intent-to-add添加了所有新文件的工作樹。回過來看diff,color-moved選項已經(jīng)擴展為支持新的color-moved-ws變體,它專門制作git diff移動的彩色行,而其他未改變則顯示空白。Git 2.18中類似的功能是利用color-moved和ignore-space-change來實現(xiàn)的,盡管后一個選項將被應(yīng)用于整個輸出,而不只是移動的行。\\Git grep有了兩個新選項:列(column),它給輸出添加第一個匹配的列號;以及唯一匹配的(only-matching),它限制輸出為正則表達式的匹配部分,而不是整個匹配行。\\
Git 2.19用兩種方式改進了git branch列表。首先,git branch –list現(xiàn)在從branch.sort配置變量讀取其默認排序選項,與git tag –list從tag.sort中獲取其默認排序選項類似。此外,git branch的-l選項(它是-create-reflog的簡寫)已經(jīng)被棄用,以防止開發(fā)人員無意中把它當做-list的別名使用。
\\\自2.6版本開始,Git提供git fsck命令以檢查被推送到存儲庫的對象的完整性。這項測試可以在接收端執(zhí)行,并用receive.fsck.*變量進行配置。例如,如果因為zero-padded文件模式定義receive.fsck.zeroPaddedFilemode變量導致fsck失敗的話,您可以讓Git拒絕推送。Git 2.19利用fetch.fsck.*變量,為git fetch提供相似的功能。\\在實現(xiàn)方面,git子模塊foreach用C進行了重寫,性能因此得到了改進。此外,對命令行補全的支持也得到了改進,現(xiàn)在會列出子命令所用的配置變量列表和包括帶-no-前綴的選項。git fetch命令支持新的-negotiation-tip選項以減少返回的提交集。當本地存儲庫具有在遠程歷史記錄中不存在的大量引用時,這能提高帶寬和性能。\\在開發(fā)方面,Git 2.19已經(jīng)禁用strcat,這被認為太危險了,現(xiàn)在會引起編譯失敗。\\還有很多Git 2.19中的新功能我們沒有在這里進行介紹。如果您有興趣了解全部的細節(jié),請別錯過官方發(fā)布說明。
\\查看英文原文:Git 2.19 Improves Diff, Branch, and Grep, and More??
\\感謝冬雨對本文的審校。
總結(jié)
以上是生活随笔為你收集整理的Git 2.19 对Diff、Branch和Grep等做了改进的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [前端漫谈] 做一个四则计算器
- 下一篇: PHP学习方向-进阶2(三)