我们正在我的工作场所对此进行热烈的讨论。我们谈论的是用户为一堆产品上传的图片,而不是显示基本网站所需的图片。我说“不可能”,但我很好奇其他人的想法。
更新:只是为了澄清。这些是客户为他们正在输入/修改的产品提供的图像。
我们正在我的工作场所对此进行热烈的讨论。我们谈论的是用户为一堆产品上传的图片,而不是显示基本网站所需的图片。我说“不可能”,但我很好奇其他人的想法。
更新:只是为了澄清。这些是客户为他们正在输入/修改的产品提供的图像。
询问是否应该在版本控制中的其他方式:
如果站点的其余部分受版本控制,则对图像进行版本控制。
如果生成了图像,则版本控制生成器。
我同意“没办法”。
网站上可能因日常使用而发生变化的任何内容,或者可由我认为是“内容”的网站的管理人员进行编辑。这包括上传的文件和数据库内容,两者都是单独备份的。一旦部署,版本控制中的网站上的任何内容都不会发生变化。那样更容易。
据推测,您所说的内容将被归类为用户数据,而不是项目文件。这些东西虽然很重要,但不需要版本控制——这需要一个简单的旧备份机制。
我最近将一个新项目添加到一个新的 SVN 存储库中,每次我查看“上传”文件夹时,我都会意识到将其包含在初始提交中是多么愚蠢。
您所说的似乎是数据库中(或可能会)中的内容。如果客户向您提供产品列表以及这些产品的图片,那么这些都应该来自数据库。在这种情况下,我不会因为您的数据库应该被备份,而不是在 VCS 中。
如果不是,并且您的网站是静态的,那么我只会因为它是“网站的一部分”。
如果你觉得你必须修改它,以某种方式将这些资源放在主存储库的路径之外,然后为它提供一个专门用于该内容的存储库。
您不希望每个必须签出代码的人在签出或更新时都获得每个图像的副本,这很慢且毫无意义,并且将它们放在主树中只会比您想象的更令人头疼。
/common_ancestor
/project_code/ # repository a
/resources_dir/ # repository b
如果您必须使用符号链接或网络服务器魔法来实现这一点,那么就这样做,但无论您做什么,都不要将这样的内容放在您的主存储库中。
就备份与修订而言,如果您也使用 SVN 作为分发方法,像这样修订它确实会给您带来一点轻松,这样如果开发人员需要一份图像副本用于测试目的,它相对容易获得相对最新的一组。
如果您不打算向客户公开版本控制,那还有什么意义呢?
在提交文件之前,客户已经可以自行使用版本控制。你可能想鼓励他们这样做。