【发布时间】:2010-10-10 20:19:17
【问题描述】:
我有一个使用 Django 用 Python 编写的简单博客应用程序。我使用 Git 对这个网站进行版本控制。该网站的主要内容是博客。博客条目存储在 SQLite 数据库中( 不受版本控制,但会定期备份);一些条目包含图像和其他媒体(如 PDF)。
我目前将此“博客媒体”与其他媒体(例如外部 JavaScript 代码和用于布局目的的图像——当然,所有这些都井井有条)一起存储在存储库中。然而,我突然想到,这并不是一个真正的好策略,原因如下:
- 每当我发布包含图像或 PDF 链接的新博客条目时,我都必须将图像添加到存储库,然后将新版本复制到生产服务器——这似乎需要做很多工作添加图像。将图像上传到服务器会更容易(当然还要进行本地备份)。
- 由于此媒体是 content 而不是 code,因此似乎没有必要将其与代码(和相关样式媒体)本身一起存储。
- repo 包含大量二进制文件,这增加了 repo 的整体大小;更重要的是,
- 我从来没有真正编辑过这些图片,为什么要让它们受版本控制?
所以我正在考虑从 repo 中删除这些文件,并将它们复制到服务器上的目录之外,该目录包含网站的 Python 代码、模板、样式表等。
但是,我想知道:是否有“最佳实践”来处理网站存储库中的内容图像和其他媒体,而不是实际用作网站布局和功能一部分的图像等?
编辑
详细地说,我发现将网站的 代码 保存在 repo 和将网站的 content 保存在 repo 之间是有区别的——我觉得也许 content 应该与实际提供网站 功能 的代码分开存储(特别是因为内容可能会更频繁地更改,而我没有看到需要为网站本身运行所不需要的“东西”创建新的提交)。
【问题讨论】:
标签: version-control