使github使用.gitattributes"二进制"属性

Ger*_*ard 14 git diff github

在我的项目中,我需要在这个例子中跟踪一些文件到版本控制,csv文件.但是这些文件包含大量的行并导致Github偶尔会压制必须通过代码审查的文件才能接受和合并拉取请求.

我试图.gitattributes将这些文件标记为二进制文件,或者只是为了不在diff中显示:

+*.csv -diff
+*.csv -merge
+*.csv binary
Run Code Online (Sandbox Code Playgroud)

一次一个,以及组合它们.这适用于终端上的差异:

$ git diff HEAD^
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..8a86f80
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+*.csv -diff -merge binary
diff --git a/AssetsImportCompleteSample.csv b/AssetsImportCompleteSample.csv
new file mode 100644
index 0000000..5b20a6e
Binary files /dev/null and b/AssetsImportCompleteSample.csv differ
Run Code Online (Sandbox Code Playgroud)

但是当分支被推送到Github并与另一个分支进行比较时,Github会忽略这些属性并将文件显示为文本,但.gitattributes是"自定义"diff应该显示的方式:

github差异视图

有没有办法强制在Github中的diff考虑属性,.gitattributes以自定义diff的行为,以便指示文件的差异被抑制?

提前致谢!

Ram*_*ran 21

我曾向Github问过类似的问题

无论如何要抑制使用.gitattributes机器生成的代码的差异需要进行版本化并且使用.gitignore文件不能忽略?

他们的答复是

GitHub不使用.gitattributes文件来选择要在diff中显示哪些文件,因此不可能以这种方式解决这个问题.

抑制diff中某些文件的唯一方法是将语言分类为"生成":

https://github.com/github/linguist#generated-file-detection

如果您想这样做,您需要查看Linguist如何将文件归类为"已生成"的详细信息,并确保您的文件符合条件.我不能说这对于你有兴趣从diff中抑制的特定文件是否可行.

所以,现在Github不支持.gitattributes文件来抑制任何差异.