我一直在研究如何使用git进行WordPress部署。几乎所有示例都将WordPress作为远程存储库,定期合并到主/功能分支。
我不想将WordPress核心提交到我的存储库中。我基本上想要忽略除了我将要改变的文件(主要是我的自定义主题)之外的所有内容。有没有一种简单的方法可以做到这一点,但仍然保持本地,登台和生产服务器运行相同的WordPress版本?
答案 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
假设您在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 --init
或git pull
。