在我的项目中,我需要在这个例子中跟踪一些文件到版本控制,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中的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文件来抑制任何差异.