台灣時間 6 / 14 號早上8點左右釋出的新版本,官方 Windows 的 binary release 在中午為止看起來都還停留在 v2.8.4,Mac 甚至還停留在 v2.8.1,而 FreeBSD 的 ports 目前也還沒看到更新,但如果是 Ubuntu 或是基於 Ubuntu 的 GNU/Linux 發行版,只要透過官方的 PPA 就可以直接升上去了。(可以參考 Ubuntu 上的 PPA 整理)
除了每次版本更新都必備的修 bug 以外,這次沒看到明顯跟效能提升有關的更新,背後實作的部份太瑣碎就先不琢磨,列舉依些對使用上有直接影響的更新:
- Shell 的 auto-completion 更新
 (就是你打命令要按 tab 把剩下字補完的功能)- 目前看起來還是缺不少指令,不過有更新總比沒有好 …
 
- git rebase -x現在不需要加- -i參數就可以直接使用了- (rebase 的時候針對每個 commit 跑測試的功能)
- 省下了一些瑣碎的步驟/時間,畢竟不是每個人都需要 interactive 的互動操作
- 之前的版本不加 -i就會不讓你跑,然後出現錯誤訊息:- The --exec option must be used with the --interactive option
 
 
- 可以自行指定 hooks 的位置
 (將一些事件和行為進行連結達到自動化的功能)- 先前都是放在 .git/hooks,可以指定之後應該某些專案就可以共用 hooks 了,或許可能就會有人性質相同專案會用到的 hooks 也可以打包成專案釋出?複雜一點的話就是偵測專案性質用比較 general 的方式跑簡單的檢查,syntax check / lint 之類的core.hooksPath 
 
- 先前都是放在 
- git commit現在會吃 verbose 的設定,就不用在命令後面加參數了
 (顯示更詳細的資訊輸出)- git config commit.verbose true 
- git clone現在可以直接 shallow clone submodule 了
 (clone 的時候不要 clone 整個改版歷史,可以有效減少空間跟頻寬消耗跟提升速度)- git clone --shallow-submodules 
- git diff / log 預設啟用自動偵測檔名變更
 (區別 “檔名變更” 和 “刪除一個舊檔案再寫一個新檔案” 的不同)- 可以透過設定來停用git config diff.renames false 
 
- 可以透過設定來停用
- 預設禁止沒有共同祖先的分支合併- 可以避免一些錯誤的操作
 
- git log 的 commit message 縮排預設用 4 個 spaces 來展開 tab- 不知道是不是我沒讀懂或哪邊有問題,目前看起來還是8個空白的長度
- 可以透過參數來取消這功能git log --no-expand-tabs 
 
 
 

