当本地git repo执行时,GitHub不强制执行.gitattributes

问题描述 投票:2回答:1

我在我的git存储库的根目录中添加了一个.gitattributes文件。我为JSON文件指定了-diff并拆分了我创建的tar.gz文件。这是我的.gitattributes文件看起来像:

my_sub_directory/archive.tar.gz.part.* -diff linguist-generated=true
*.json -diff linguist-generated=true

使用.gitattributes文件,我的目标是告诉git将JSON文件和这些存档视为二进制文件,因此它不会跟踪它们的行数。我的本地git repo似乎成功地将其拾起并将文件视为二进制文件。但是,当我尝试将它合并到我的远程主GitHub存储库时,合并请求将存档视为文本文件并计算它们的行,这告诉我它忽略了包含的.gitattributes文件。

我认为可能是GitHub使用已经在主人身上的.gitattributes。因此,在尝试合并JSON文件和存档之前,我已经将.gitattributes文件单独提交。但GitHub仍然将文件视为带有差异的文本。

git github
1个回答
1
投票

你的.gitattributes文件中有一个额外的-diff。它应该只是linguist-generated=true

my_sub_directory/archive.tar.gz.part.* linguist-generated=true
*.json linguist-generated=true

Customizing how changed files appear on GitHub中的示例相同:

例如,要将search/index.json标记为生成的文件,请将此行添加到.gitattributes:

search/index.json linguist-generated=true

虽然这并没有真正告诉Github“将文件跟踪为二进制文件”,但它只是“默认情况下某些文件不会显示在差异中,或者计入存储库语言”。所以在pull请求中,默认情况下它不会显示diff:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.