Git 2.6 發布,帶來眾多新特性與改進

jopen 9年前發布 | 7K 次閱讀 Git

 

git近期 發布 了其最新的2.6版本,增加了許多新的特性,對許多內部結構和性能方面進行了改進,以及修復了大量的Bug。

新的工作流與UI特性

Git2.6引入了新的特性,即命令 git fsck ,此命令可在項目的歷史記錄中解決一些小的錯誤。 git fsck 用于驗證倉庫的完整性。經常遇到的情況時,當 git fsck 會對過去的提交過于吹毛求疵時,標記為不當的形式,以及不值當的歷史記錄修改等,例如,當很多用戶已經克隆了倉庫時。在此情況下,Git 2.6 允許開發者通過指定 git fsck 來調整嚴重性,例如,命令 git config fsck.badEmail ignore 會忽略不合法的電子郵箱地址。

git fsck 也可以用于自動地檢查對象的完整性,這些對象是指已經push到倉庫的對象,從而防止舊的對象進入到項目的歷史。在此情況下,這對告訴 git fsck 簡單的忽略處于不好狀態的提交蠻有用處,同時還能保持對新push的對象作全面的檢查。這可以通過 git config: git config fsck.skiplist "$PWD/.git/skiplist" 所提供的可忽略的提交列表來完成 。

當執行一次rebase期間,命令 git status 能夠顯示更加詳細的內容,它會提供關于在rebase日志中最后步驟和接下來的步驟的細節。這在大批量的提交后,再rebase時可以很好的跟蹤一些記錄。

以下是其它一些較有用的新特性:

  • git log --date 允許開發者使用自定義的日期格式: git config log.date "format:%c"
  • git log --cc 現在實現了 -p 的功能,所以它實際上顯示合并提交的不同;
  • git fast-import 支持一個新的 get-mark 屬性,使得SHA-1所對應的文件描述符被標記為可打印;
  • git log 支持一個新的配置項: --follow ,繼續列出經過重命名的文件的歷史;
  • git pull --rebase 現在會考慮用戶的 rebase.autostash 配置,此配置項默認會啟用 --autostash 屬性,從而讓用戶可以rebase一個臟的worktree。

性能與內部實現改進

在前端交互方面,用C重寫了一些命令,例如 git pullgit am 。另外,對 commitstatus 在multi-tree合并后進行了加速。還有,對Git的一些內部實現作了一些變更,為的是準備好讓不同的 ref 后端能夠插入到Git。

根據Git郵件列表的 通告 ,Git2.6包含了從Git2.5以來479次未合并的提交。關于新特性的完整列表,以及所修復的Bug,請閱讀其 發行注記

查看英文原文: Git 2.6 Brings Many New Features and Improvements

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!