本地git repo执行时GitHub不执行.gitattributes

时间:2019-04-23 23:13:20

标签: git github

我在git仓库的根目录中添加了一个.gitattributes文件。我已经为创建的JSON文件和拆分的tar.gz文件指定了-diff。这是我的.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使用了已经在master上的.gitattributes。因此,在尝试合并JSON文件和档案文件之前,我已将.gitattributes文件分别进行管理。但是GitHub仍然将文件视为带差异的文本。

1 个答案:

答案 0 :(得分: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“ 将文件跟踪为二进制文件”,但只是“ 使某些文件在默认情况下不显示在diff中,或计入存储库语言< / em>”。因此,在拉取请求中,默认情况下它只是不显示差异

enter image description here