2014-02-11 46 views
1

我已將path/to/compiled/file.css -diff添加到我的.gitattributes文件夾中。Araxis合併不尊重.gitattributes偏好

git diff --no-ext-diff尊重偏好,只是讓我知道二進制文件已更改,但git diff(配置爲使用Araxis合併作爲GUI差異)不。當Araxis擊中編譯後的css文件時,我得到一個旋轉的沙灘球。

任何想法如何讓Araxis尊重我的願望?

回答

1

的Git通過調用外部工具命令與外部工具通信:

$command $LOCAL $REMOTE 

所以,即使混帳知道它不應該嘗試在一個給定的文件計算差異,它沒有辦法傳達到外部工具。

然後,外部工具只能通過查看擴展名來猜測哪些文件是二進制文件。而且,在這種情況下,「css」不會被識別爲二​​進制。

因此,沒有辦法指示外部工具忽略一個css文件。那麼我們需要的是一種將文件從傳遞給外部工具的文件中排除的方法。

你可以通過設置自定義無操作DIFF驅動程序:

$ git config diff.noop.command true  # if "true" is a bash builtin in your system 
or 
$ git config.diff.noop.command /bin/true # if "true" is a real binary in your system 

,然後設置的自定義驅動程序與您的文件一起使用:

(at .gitattributes) 
/path/to/compiled/file.css diff=noop 

應該這樣做。