バージョン管理で Git を使っているというケースがあると思います。WordPress サイトの場合、Git でバージョン管理する場合はどのフォルダやファイルを含めるべきか、Git 管理対象外とするべきファイルやフォルダなどを考えてみました。
目次
WordPress の Git 管理は全部含めると大変
WordPress は初期インストール状態でも約3,000ファイルを含んでいます。
他にも、プラグインのインストール、ページや記事作成時に画像をアップロードすることによりアップロードディレクトリ内に複数サイズの画像の生成、テーマファイル内の画像などなど、利用していくうちにファイル数は増えていくばかりです。普通にサイト運用していれば、数万のファイルになっていても全くおかしくありません。
Git でバージョン管理するときにもし WordPress 全てを含めると、WordPress コア(本体)やプラグインのバージョンアップにより都度 Git もコミットし管理する手間が増えるため、個人的にはおすすめしません。あとから見返した時に見づらいバージョン管理なんて本末転倒です。
WordPress の場合は Git 管理するファイルやフォルダを指定する
そこで、Git でバージョン管理する際に、自分やチームにとって必要なファイルやフォルダだけをバージョン管理することで使いやすくなります。
WordPress コアやプラグイン等のバージョンアップ、管理画面からの画像のアップロード等は Git でバージョン管理せず、テーマ内で更新した対象のデータなど必要とするデータだけを対象とするのです。
.gitignore ファイルを設定し特定ファイルやフォルダを除外する
Git には .gitignore
という任意のファイルやフォルダを Git から対象外とできる便利な設定ファイルがあります。これを利用しGit 管理しないデータを指定します。
WordPress のディレクトリ( wp-content
や wp-config.php
があるディレクトリ)に Git を設置した場合は除外するファイルやフォルダが多くなります。
Thumbs.db
.DS_Store
*.log
/wp-config.php
/.htaccess
/.htpasswd
/index.php
/license.txt
/readme.html
/wp-*.php
/xmlrpc.php
/wp-admin/*
/wp-content/*
!/wp-content/themes
/wp-content/themes/*
!/wp-content/themes/my-theme
/wp-content/themes/my-theme/css/.sass-cache/*
/wp-includes/*
このように、WordPress の本体である wp-content
や wp-admin
、wp-includes
の除外はもちろん、関連する WordPress 関係のデータを除外します。
テーマに関するファイルは Git に含めたいため、 /wp-content/themes/*
で一度 Git 対象外にしたあと、!/wp-content/themes/my-theme
とすることで Git 対象となります。( my-theme には利用しているテーマ名が入ります)
テーマディレクトリに Git を設置している場合はシンプル
WordPress ディレクトリではなく、テーマディレクトリ自体に Git を設置している場合は .gitignore
ファイルの内容はシンプルになります。
Thumbs.db
.DS_Store
*.log
/css/.sass-cache/*
WordPress 関連のファイルがなくなり、Windows が生成するサムネ用のキャッシュファイルである Thumbs.db
、Macの各フォルダに自動的に生成されるメタ情報が書かれている .DS_Store
、 念の為何らかのログファイルである *.log
を Git から対象外としています。
また、SCSS のキャッシュが生成された場合に除外するために記載しています。ここは環境に合わせて変更してください。
Git を設置する場所はテーマディレクトリか、WordPress ディレクトリがいいか
WordPress ディレクトリに WordPress 以外のファイルを設置していたり、共通の CSS や JavaScript を参照しているといったケースでは、テーマディレクトリに Git を置いていると全体のバージョン管理ができないため、その場合は前者のように WordPress ディレクトリに Git を設置し、必要なファイルのみバージョン管理するよう .gitignore
ファイルで設定するのがおすすめです。
「テーマだけ管理できればいい」という場合でも、サイトを運用するにつれ WordPress とは切り離したランディングページや個別ページを作るといったこともあります。
あとから Git の設置場所を変更して .gitignore
ファイルを編集すればいいのですが、そういった可能性が少しでもありそうであれば、最初から WordPress ディレクトリに設置しておく方があとあとの修正が少なくて済みます。
.gitignore
を活用し、適切な Git 設定を行うことで、安心したバージョン管理に繋がります。まだ利用していない、利用しているが適切に設定できていない、といった場合は是非ご活用ください。
「Git の必要性はまだ感じてないからいい」という方は、別の観点として Git でのファイル反映方法が便利なのでおすすめします。以下ご参考ください。
コメントを残す