我在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仍然将文件视为带差异的文本。
答案 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>”。因此,在拉取请求中,默认情况下它只是不显示差异 :