当本地git repo执行时,GitHub不强制执行.gitattributes
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当本地git repo执行时,GitHub不强制执行.gitattributes相关的知识,希望对你有一定的参考价值。
我在我的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仍然将文件视为带有差异的文本。
你的.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:
以上是关于当本地git repo执行时,GitHub不强制执行.gitattributes的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Git本地Repos和GitHub远程Repos互操作