执行 git pull 来移动文件,不会从服务器上的工作目录中收集任何更改。一个潜在的工作流程可能是首先登录到服务器并提交所有更改并将它们推送到裸存储库。然后,您可以从本地裸存储库中提取并查看其他人所做的更改,git 将帮助您将它们合并到本地环境中。
您也可以以相同的方式从本地环境部署到生产环境,方法是推送到裸存储库,然后从裸存储库拉取到生产服务器。
裸仓库似乎是一个额外的步骤,但是您的两个环境(服务器和本地)都是工作环境,因此传输裸仓库将使您在提交和合并时更容易一些。(如果我在这个问题上偏离了轨道,我相信有人会以我的方式指出错误......)
您需要从 repo 中排除 wp-config.php 文件,或根据环境变量等修改权限站点(即在本地和服务器上的 vhost 文件中设置环境变量并使用条件语句确定在 wp-config.php 中使用哪些数据库凭据)。就像是:
switch ($_SERVER['APPLICATION_ENV']) {
case 'local':
define('DB_NAME', 'local');
define('DB_USER', 'localuser');
define('DB_PASSWORD', 'localpwd');
define('DB_HOST', 'localhost');
define('WP_HOME','http://local.verycoolwebsite.com');
define('WP_SITEURL','http://local.verycoolwebsite.com');
define('WP_DEBUG', true);
define('SAVEQUERIES', true);
break;
case 'production':
define('DB_NAME', 'production');
define('DB_USER', 'www');
define('DB_PASSWORD', 'foobar');
define('DB_HOST', 'localhost');
define('WP_HOME','http://www.verycoolwebsite.com');
define('WP_SITEURL','http://www.verycoolwebsite.com');
define('WP_DEBUG', false);
define('SAVEQUERIES', false);
break;
}
如果图像目录很大并且不需要版本控制,则排除它们也可能是一个好主意。
作为另一种选择,如果您要查找的是移动更改而不是完整版本控制,请查看 rsync 命令。