Composer/WordPress:应该或不应该提交wp-content目录

pau*_*dru 15 php git wordpress dependencies composer-php

所以我最近开始在教程的基础上使用Composer和WordPress .

这是我的composer.json档案:

{
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "wordpress",
                "type": "webroot",
                "version": "4.3",
                "dist": {
                    "type": "zip",
                    "url": "https://github.com/WordPress/WordPress/archive/4.3.zip"
                },
                "require" : {
                    "fancyguy/webroot-installer": "1.0.0"
                }
            }
        }
    ],
    "require": {
        "wordpress": "4.*",
        "fancyguy/webroot-installer": "1.0.0"
    },
    "extra": {
        "webroot-dir": "public/wp",
        "webroot-package": "wordpress"
    }
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,我有这个文件夹结构:

在此输入图像描述

因为它是在该教程提到的,我复制index.php,wp-config.phpwp-content外部目录wp目录和替换的路径.

到目前为止,一切都很完美:

关于使用源代码管理工具进行内务管理.您要忽略composer.phar文件和public/wp目录.其他一切都可以被提交和推动.

所以看起来除了public/wp文件夹之外,一切都可以提交和推送.(包括wp-content文件夹)

这是我不明白的事情.我们必须提交/推wp-content目录,因为它有它使用有不同的位置,但在同一时间该wp-content文件夹包含pluginsthemes文件夹,使我们的插件和主题将使用作曲家不应犯添加/右侧推压? .

插件和主题也将使用composer添加到开发环境中,因此我们不能提交它们,但是它们位于wp-content应该提交的目录中?

另一个类似的教程中,它wp-content被设置到.gitignore文件中,这意味着它不应该被提交/推送.但如果是这样的话,谁将会在开发环境中移动(和如何)wp-content外部wp目录.

有人可以澄清这方面吗?

Von*_*onC 0

这个想法是:任何生成的东西都不应该被版本控制。

谁将(以及如何)移动开发环境中的wp-content外部目录。wp

这是一个部署问题,是发布管理的一部分。
这意味着服务器端的接收后挂钩将负责根据新推送的源生成正确的内容,并wp-content在刷新其内容后移动/复制文件夹。

要点是:通常将版本控制与部署区分开来。移动内容是在部署、发布管理期间完成的,例如通过挂钩将正确的资源移动到正确的位置。