使用Git时,Drupal中的/ sites / default / files目录

时间:2013-02-19 16:18:47

标签: git drupal drupal-6 migration sync

我们正在将Drupal 6网站迁移到Git中。我注意到Drupal 7实际上带有一个默认的.gitignore文件,该文件忽略了settings.php文件和sites / default / files目录。所以我假设这是标准做法,我不应该版本控制文件目录。我的问题是,将这些文件从开发到测试迁移到生存的最佳方法是什么?实际站点可能包含人们在实际站点上传的该目录中的大量图像,但是DEV服务器上的目录将具有一些开发人员可能已添加到他们创建的内容的新图像。目前,当内容编辑器以开放网站上的页面节点的方式添加内容时,我们有一个WYSIWYG编辑器,允许他们上传最终在/ sites / default / files / images中的图像并放入他们的内容。在各种服务器之间同步此文件目录的最简单方法是什么?

由于

2 个答案:

答案 0 :(得分:2)

您没有将数据库从开发同步到生产,对吧?所以你不需要同步文件目录。 drupal文件目录只应用于通过网站添加的内容。如果您的开发人员正在添加生产中所需的资源,那么它们应该放在版本控制下的其他位置。

答案 1 :(得分:2)

基于对@ Brian上面答案的回应,提问者确实有两个问题:

  1. 为什么我不应该在源代码管理中包含files目录
  2. Deploy模块是否支持IMCE上传的图像
  3. #1,您不应在源代码管理中包含files目录的原因:

    • @Brian给出了上面的理由#1,但听起来你实际上是将数据从dev推送到prod。
    • files目录不太适合源代码管理。 (您很少想恢复或查看文件目录的提交历史记录)
    • 文件目录可能会变得庞大,这可能会成为仓库存储问题
    • 我通常将drupal安装之外的文件目录符号链接,因此如果服务器路径发生变化,我不需要移动它(再次,因为它可能很大)
    • files目录中的许多文件可能是其他文件的衍生物(在图像缓存的情况下)。即使您要证明将文件目录置于源代码管理之下,跟踪/files/img.png/files/imagecache/small/img.png也没有意义。

    #2,为图像部署模块支持:
    最简洁的答案是不;部署不支持IMCE for D6上传的图像。请参阅:Add IMCE image support

    sarjeet.singh在与上述相关的问题中提供patch for D7。鉴于文件目录路径在dev / prod上是相同的,您应该能够为Drupal 6进行调整。