2

该线程建议放置

*.jpg binary -delta

.gitattributegit 中的 repos 文件中,但我不确定它的作用。我找不到 git 的“-delta”标志的任何示例。

目的显然是加快较大文件的提交或推送时间。

4

1 回答 1

6

这可能与:

包装物

delta

对于属性 delta 设置为 false 的路径,不会尝试对 blob 进行增量压缩。

我在“ git 二进制差异算法(增量存储)是否标准化? ”中详细介绍了增量存储。

二进制文件默认情况下没有设置,因为:

我们最初的目标受众是使用 git 作为源代码控制系统的人。

杰夫金补充道

我在我的一个存储库中 delta jpgs。如果 exif 元数据发生更改但图像数据没有更改,这很有用。我假设您可以对具有压缩和未压缩部分的其他格式执行相同的操作(我也对视频容器执行此操作)。我认为尝试 delta gzip'd 或 bzip'd 内容是没有意义的。

我也不使用“ binary”,因为我使用自定义差异驱动程序(二进制意味着“ -diff”)。

至于应该默认什么,一直到现在默认一直是默认不定义git属性。这很好,因为它很容易理解;git 不关心文件名,除非你告诉它.
不利的一面是,如果没有额外的配置,它可能无法在一些不寻常的工作负载上发挥最佳性能。

.gitattributes手册页提到:

将文件标记为二进制文件的最简单方法是取消设置 .gitattributes 文件中的 diff 属性:

*.ps -diff

这将导致 Git 生成二进制文件差异(或二进制补丁,如果启用了二进制补丁)而不是常规差异。

所以,是的,“设置“ binary”属性也会取消设置“ text”和“ diff”属性,如上所述”,但杰夫说它仅-diff在他的情况下使用,这足以让文件成为二进制文件。

于 2014-07-27T06:53:19.933 回答