Git 2.17改进了移动代码差异比较和对象搜索
看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!
\\\Git的最新版本2.17版給出了多個改進,以及一些小的新特性,包括更好的移動代碼配色、在歷史中查找對象等。
\\Git 2.17通過設定移動代碼行的配色組,改進了diff命令的顯示。通常情況下,Git在顯示上并不區分移動代碼行與其它的代碼更改。現在,用戶可以使用--color-moved選項,以不同的配色分別顯示移動了但是并未更改的代碼行,以及發生了移動也做了更改的代碼行。移動代碼行所用的配色,可使用diff.colorMoved選項指定。--color-moved選項支持下列配置:
\\- no:不高亮顯示移動代碼行。 \\
- \ zebra:Git會檢測包含至少20個字符(字母和數字)的代碼塊,并選擇顯示配色。一旦檢測到了新的代碼塊,就更改為另一種顏色顯示。前后兩個代碼塊的配色分別使用color.diff.{old,new}Moved和color.diff.{old,new}MovedAlternative選項指定。 \ \\
- \ dimmed_zebra:與zebra配置類似。區別之處在于,它對移動代碼中不感興趣的部分變暗顯示。 \ \\
- \ plain: 使用color.diff.newMoved所指定的配色,在新位置顯示在某處移除并添加到新位置的的代碼行;使用color.diff.oldMoved指定的配色,在原位置顯示移除并添加到其它位置的代碼行。 \ \
在Git 2.17版中,對log和diff命令添加了新的選項--find-object。該選項可將搜索結果僅局限于指向給定對象哈希串的提交。Git對象可能會出現在多個提交中。例如,一個對象是在一次提交中首次創建的,之后可能會在另一次提交中刪除。對象在重命名或拷貝時,會對應于多條路徑,因此這樣的對象不易被追蹤。現在,使用下面的命令可以選取并顯示指向給定對象的所有提交:
\\\git log --find-object= -p\\\在Git 2.17版中,rebase(變基)命令和am(應用遞送補丁)命令都支持新選項--show-current-patch,顯示使用命令給出的差異。在rebase或merge命令因發生沖突而停止時,該選項給出的輸出十分有用。此外,merge命令使用的“默認不采用Fast Forward模式”策略也稍作了修改。新版本在合并一個標簽(tag)時,會應用Fast Forward模式,除非標簽對象并非位于默認的“/refs/tags”目錄中。對于下游(downstream)貢獻者從上游(upstream)更新打標簽版本上的主題分支(Topic Branch),這一改進可阻止提交無必要的合并。
\\Git 2.17中還包括了很多改進,本文無法一一列舉。推薦查看官方發行說明。
\\查看英文原文: Git 2.17 Improves Moved Code Diffs and Object Search
總結
以上是生活随笔為你收集整理的Git 2.17改进了移动代码差异比较和对象搜索的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【Hadoop学起来】分布式Hadoop
- 下一篇: webpack----常规配置
