何时应该在Git存储库中跟踪pdf文件,何时不跟踪

时间:2013-07-21 11:54:32

标签: git binaryfiles

我正在开发一个包含许多小PDF文件的LateX包(http://www.openlilylib.org/lilyglyphs)。目前只有几十个,但随着软件包及其用户群的增长,可能会有数百个(但不可能超过1000个)。

PDF的大小通常只有几KB,但我不知道是否要在Git存储库中跟踪它们。文件随时可能更改,但可能不太常见 通常会告诉一个人不要跟踪无法区分的二进制文件,但我也读过,这对于较小的文件和较小的整体音量并不重要。我认为最终PDF总数不会超过几MB。

该软件包可以下载或通过我喜欢的Git存储库获得,因为使用软件包很自然地导致贡献 ...
目前在克隆Git存储库时,必须使用Python和LilyPond表示法软件重建pdf,因此赌注相当高 - 这就是为什么我希望将pdf直接放在repo中。

有什么想法吗?


编辑以回答答案/评论:

从存储库中的源代码生成pdf文件 ,这就是为什么我不愿意在Git中跟踪它们。
但是:

  • pdf是使用软件包所必需的,因此用户需要使用它们
  • 要生成pdfs,需要Python和LilyPond,并且它们都 不需要使用该包。所以我觉得要安装我的软件包安装两个程序是一个太大的负担 我没有看到有人决定克隆Git仓库运行安装脚本的问题,但软件依赖性可能太高了?
  • 目前生成的pdfs在合理的时间内完成,因为只有几十个。但是随着文件数量的增加,这次可能变得无法接受。

pdf文件在更新/更正时会发生变化。这不会经常发生,我认为跟踪源代码可以解决这个问题。但是,每当有新版本的LilyPond可用时,pdf也会发生变化,可能每两到四周一次。因此,虽然源代码保持不变,但pdf将会正常更改 - 这是用Git跟踪它们的明显指标 另一方面,我们正在谈论(可能)几百个文件,每个文件几KB,所以我不知道是否值得为这个问题烦恼。

3 个答案:

答案 0 :(得分:4)

如果文档没有更改,则没有理由在git中跟踪它们的更改。没有修订,也不需要修改版本。

但如果他们确实随着时间的推移而发生变化,并且有人可能因任何原因需要查阅旧文档版本,请考虑以下问题:

  1. 重新创建旧版本的文档是不可能还是不切实际的?
  2. 版本控制之外的基础数据是否已更改,或者是否仍处于相同状态?
  3. 文档中的数据是否与源代码相关联?
  4. 如果这些问题的答案是肯定的,那么它们可能是git下版本控制的良好候选者。

答案 1 :(得分:2)

问题是:您是否想要将git专门用于源代码管理/跟踪/同步,或者您是否也希望将其用于分发?对于小型项目,它简化了以这种方式执行的操作,对于大型项目,它会使回购膨胀。

答案 2 :(得分:1)

我知道这是一个老帖子,但我在搜索时发现它,所以其他人也可能。以下是我找到的一些选项

正如已经指出的那样,很多将取决于这些源文件是否会随着时间而改变。

如果他们不更改(或不经常更改),您可以选择将其副本保存在您控制的服务器上或云存储选项上,并使安装脚本下载而不是生成它们。< / p>

这可能取决于安装了wget或curl的用户,但大多数人都这样做,如果他们不这样做,你总是可以提示用户手动下载。

如果PDF经常随源更改,您可以查看GIT LFS。我自己从未使用它,但已经看过它。