在Git中拥有文档和其他项目相关文件的最佳实践?

时间:2015-09-24 10:50:08

标签: git version-control repository branch

我在Git上有一个asp.net mvc项目。我们还有很多其他文件,例如* .pdf中的文档, .sql中的数据库脚本和图像形式的模型( .png,* .jpg)。我们也希望在Git中有这个,但问题在哪里?

在项目中创建新文件夹,例如docs,db-scripts等,并将其与项目一起提交?

使用文档和db-script创建一个新分支?

创建一个新的git存储库?

2 个答案:

答案 0 :(得分:1)

您的问题并非特定于Git,而是适用于任何版本控制系统。

一般情况下,将所有项目的资产(例如源代码,文档,脚本,二进制文件)保存在相同的目录结构中是个好主意,其中不同的资产将在子目录中进行组织。这样,当有人从源代码控制中获取项目时,他们会得到与该项目相关的所有,而不必搜索其他存储库中的不同部分。

当谈到Git时,需要考虑的一个问题是你的项目是否有很多大型二进制文件(例如音频,视频,原始图像)。事实上,Git的storage mechanism是出了名的inefficient at handling big binaries that change often

  

默认情况下,Git会压缩并存储所有内容   后续完整版本的二进制资产,显然不是   如果你有很多,那就是最佳的。

如果您需要在Git存储库中存储大型二进制文件,您应该考虑查看名为Git Large File Storage (LFS)的Git扩展。安装此扩展后,Git会将大型二进制文件存储在远程存储库中,但仍然使它看起来像是本地存储库的一部分。

答案 1 :(得分:0)

虽然与文档存储方式无关(除了单独的存储库,除非子模块) - 你绝对不希望使用无法产生差异的文本文件格式。

我只是将文档保持在代码本身附近,绝对不在单独的分支上,因为文档更改应该反映代码更改,版本控制在两者中都很重要。