2013-05-03 31 views
6

前のGit indentは/それらを差分の前に/プリティプリントC++のソースファイルの2つのバージョンを美化する方法はありますか?Gitの差分インデント/プリティ・印刷/美しくは差分

私の目標は明らかです:Gitには私のような猿が自動フォーマットを打つと、愚かなIDEによって導入された無数の変更を私に見せたくありません。

使用例:path/to/fileの元のバージョンとpath/to/fileのオリジナルバージョンの両方がインデントされた後、私はgit difftool --indent-before-diffing path/to/fileに行き、変更を取得しました。

答えて

8

あなたはあなたのためのインデントを行うアプリケーションを見つけることができれば、あなたはメソッドを使用することがODTファイルに対してhereを説明:

あなた.gitattributesファイルに次の行を追加します。

*.odt diff=odt

[diff "odt"] 
    binary = true 
    textconv = /usr/local/bin/odt-to-txt 
:今.git/configにODTの差分フィルタを設定

*.cpp diff=cpp 

そして、.git/configに

:コメントで指摘したように

[diff "cpp"] 
    binary = true 
    textconv = /path/to/indenter 

GNU Indentは、インデントのために使用することができる

だからC++のファイルに対して、このようなものになるだろう。

+1

これは非常に良い答えです!ありがとう!それでも、私は簡単にはできないわずかな欠点があります(つまり、コマンドラインスイッチによって)機能をオフにします。誰かが 'git diff'コマンドで直接有効/無効にできる同様の解決策を提示しない限り、これを正解とマークします。 – Hinton

+1

このような「アプリケーション」は、GNUの「インデント」になります。 – Hinton