伺服器上使用 git 更新 wordpress 核心方案

蕭大俠發表於2015-03-04

目錄結構、場景設想

推薦目錄架構結構:

/opts/mysite/
—/wordpress/
—/wp-config.php
—/index.php

*wordpress 要加入到 .gitignore 中,/mysite/index.php 需要修改載入 wordpress 的路徑

場景 I 如果網站目錄 mysite 是一個 repo(比如有 mysite/.git 目錄)
場景 II 網站目錄不是 repo ,而是部署為 detached worktree,即不存在 mysite/.git

方案 I(適用場景 I)

把 wordpress 當成 git submodule 加入到 repo 中。
http://blog.g-design.net/post/60019471157/managing-and-deploying-wordpress-with-git

方案 II(適用場景 II)

此時可以把 wordpress 子目錄設定成 git repo(即存在 mysite/wordpress/.git 目錄)
git clone git://github.com/wordpress/wordpress.git /opts/mysite/wordpress

*注意在 apache 中遮蔽 .git 目錄

然後通過以下命令升級 wordpress 核心即可

git fetch --tags
sudo git checkout tags/4.1.1 -f

方案 III(適用場景 I 和 場景 II)

wordpress 子目錄也配置成 detached worktree

直接下載最新 wordpress
git clone git://github.com/wordpress/wordpress.git /tmp/wordpress

使用 git checkout 命令更新

git fetch --tags
sudo git —git-dir=/tmp/wordpress/.git —work-tree=/opts/mysite/wordpress checkout tags/4.1.1 -f

相關文章