Git 2.1發布:新特性預覽
在Git 2.0發布兩個半月之后,Git又發布了新的版本2.1版。雖然只是小版本號的更新,但是這一版的新特性和改進的內容的列表卻很長。
可以從git倉庫找到完整的發布日志,該日志提供了關于Git 2.1版更多的細節。下面我們挑選了一些Git 2.1版的新特性來進行一下簡單的介紹。
- 更出色的bash補全功能
Bash補全功能得到了進一步的擴展,從而可以“更好地處理那些為復雜的命令序列而定義的別名”。換句話說,如果你為一組命令序列定義了一個別名, 該別名對應的命令序列是將一個git命令的結果通過管道輸入到例如像grep、sort或其他任何的命令行程序中,那么自動補全功能會像處理原生的git 命令一樣將為該別名生成相同的選項。
- 裝飾日志的“auto”選項
log.decorate 這一配置變量目前支持通過指定值auto,從而可以在輸出被發送到tty的時候,自動啟用--decorate 選項。
- 支持在合并時采用vimdiff3
git mergetool命令目前支持使用vimdiff3作為背后實現
- 在git-grep中支持全路徑名輸出
添加了一個--full-name 選項,允許以全路徑名的展現形式獲取結果,替代了根據當前目錄展示相對路徑的方式。需要重點關注的是該行為現在已是默認配置:“git grep 現在對grep.fullname 配置變量強加了‐‐full-name選項,從而使該選項成為了默認配置”。這會對那些不期望該種新行為的腳本化用戶造成損害。
- 標簽排序
Git-tag現在支持tag.sort配置,“當沒有指定‐‐sort= 選項的時候,將會按照默認的順序進行排序。” Tim Pettersen在Atlassian Blog中提供了一個關于該新特性如何使用的很好的例子,他考慮到標簽中的版本數字從而建議采用下面的方式作為默認排序:
$ git config --global tag.sort version:refname
通過設置上述的默認選項,使用git tag 將會對版本數字進行正確地排序,而無需同時指定任何特定的排序選項來覆蓋它原有默認的按字母排序的方式。
新版的Git同樣也包含了數個針對性能提升和大量bug修復的變更。更多的詳情可以查看完整的發布日志。上面提到的Tim Pettersen 的文章也非常值得一讀,因為它囊括了作者關于“新版中讓身在Atlassian的我們興奮的幾個方面”的一些想法,并提供了更加豐富的示例。
查看英文原文:Git 2.1 Released: What's New
來自:http://www.infoq.com/cn/news/2014/08/git21-release-whats-new