如何在不提交WP核心的情况下使用Git部署WordPress站点?

时间:2011-11-22 05:46:44

标签: git wordpress deployment automation updates

我一直在研究如何使用git进行WordPress部署。几乎所有示例都将WordPress作为远程存储库,定期合并到主/功能分支。

我不想将WordPress核心提交到我的存储库中。我基本上想要忽略除了我将要改变的文件(主要是我的自定义主题)之外的所有内容。有没有一种简单的方法可以做到这一点,但仍然保持本地,登台和生产服务器运行相同的WordPress版本?

1 个答案:

答案 0 :(得分:1)

除非您希望从副本的上游进行更改,否则无需合并远程存储库。

假设您将Wordpress本地放在名为wp的文件夹中,并且它还不是git repo:

cd wp
git init .
touch .gitignore # Add required stuff to .gitignore.
git add .
git commit -m "Initial commit."

现在,当您想要远程反映这些更改时,只需将其推送到生产服务器或临时服务器的远程位置即可。

git push staging master

通过git子模块可能的解决方案

假设您在github上安装了Wordpress。首先克隆回购:

git clone git://github.com/Soliah/Wordpress.git
cd Wordpress
git checkout origin/3.2-branch

现在说你有一个主题“很棒”:

cd Wordpress
git submodule add https://github.com/Soliah/awesomeness.git ./wp-content/themes/awesomeness
git submodule init
git submodule update

现在,只要您想要更新主题,请先更新主题回购:

cd awesomeness
# update some stuff
git add .
git commit -m "Update theme."
git push origin master

回到wordpress,只需更新子模块并推送到github。

cd Wordpress
git submodule update
git commit -m "Update theme submodules."
git push origin master

在您的其他服务器上,如果它们已经存在,您可以git clone git://github.com/Soliah/Wordpress.git && git submodule update --initgit pull

相关问题