WordPressをGitで管理する方法|初心者向け完全ガイド
こんにちは、とまだです。
WordPressでサイトを運営していて、「あれ?前はどうなってたっけ?」と困ったことはありませんか?
テーマをカスタマイズしたら表示が崩れてしまった。 プラグインを更新したら機能が動かなくなった。 そんなときに「元に戻したい!」と思いますよね。
今回は現役のエンジニアとして、WordPressサイトをGitで管理する方法について解説します。
この記事を読めば、安心してWordPressの改修ができるようになります。 チーム開発もスムーズに進められるようになりますよ。
Gitで何ができるようになるのか
WordPressをGitで管理すると、次のことが可能になります。
変更履歴の記録 いつ、何を変更したかが一目でわかります。 日記帳のように、サイトの成長記録が残せるんです。
過去の状態への復元 問題が起きたときに、すぐに元の状態に戻せます。 タイムマシンのような機能だと思ってください。
チームでの共同作業 複数人で同時に作業しても混乱しません。 誰がどこを変更したかが明確になるからです。
バックアップの自動化 リモートリポジトリに保存すれば、自動的にバックアップになります。 パソコンが壊れても安心です。
Gitとは?基本をおさらい
Gitは「バージョン管理システム」と呼ばれるツールです。 ファイルの変更履歴を細かく記録してくれます。
例えば、文書を書くときのことを想像してみてください。 下書き、第一稿、第二稿と保存していきますよね。 Gitはこれを自動化してくれるツールなんです。
しかも、変更点だけを記録するので効率的です。 「3行目の文字を変えた」という情報だけを保存します。
WordPressのようにファイルが多いサイトでは特に便利です。 PHPファイル、CSSファイル、画像ファイルなど。 これらの変更を一括で管理できるんです。
WordPressの構造を理解しよう
GitでWordPressを管理する前に、構造を理解しておきましょう。 WordPressは主に以下のフォルダで構成されています。
wp-admin 管理画面のファイルが入っています。 WordPressの心臓部分です。
wp-includes WordPressの基本機能が入っています。 こちらも心臓部分ですね。
wp-content テーマやプラグイン、アップロード画像が入っています。 私たちが主に触る部分はここです。
Git管理する際は、この構造を意識することが大切です。 なぜなら、管理すべきファイルとそうでないファイルがあるからです。
準備:ローカル環境を整える
まずはローカル環境でWordPressを動かしましょう。 本番サイトで直接作業するのは危険だからです。
ローカル環境の構築手順を説明します。
1. 開発環境をインストール
MAMP、XAMPP、Localなどのツールを使います。 これらはPHPとMySQLをまとめてインストールできる便利なツールです。
2. WordPressをダウンロード
公式サイトから最新版をダウンロードします。 ローカルサーバーのフォルダに配置しましょう。
3. WordPressをセットアップ
ブラウザでアクセスしてインストールを進めます。 データベース情報を入力すれば完了です。
これでローカルでWordPressが動くようになりました。 次はいよいよGit管理の設定です。
Git管理の基本設定
WordPressフォルダでGitを初期化します。 ターミナルやコマンドプロンプトを使って作業しましょう。
以下のコマンドでGit管理を開始します。
cd /path/to/wordpress
git init
これでGitリポジトリが作成されました。
次に重要なのが.gitignore
の設定です。
.gitignoreで管理対象を絞る
.gitignore
は、Gitに無視してもらうファイルを指定するファイルです。
冷蔵庫に入れない食材リストのようなものですね。
WordPressでは以下のファイルを除外するのが一般的です。
# WordPressコア
/wp-admin/
/wp-includes/
# アップロードファイル
/wp-content/uploads/
# キャッシュ
/wp-content/cache/
# ログファイル
*.log
# データベースダンプ
*.sql
# 設定ファイル(本番環境用)
wp-config.php
なぜこれらを除外するのでしょうか。
WordPressコアは公式からダウンロードできます。 アップロード画像は容量が大きくなりがちです。 ログファイルは頻繁に更新されて意味がありません。
テーマとプラグインのファイルだけを管理するのが基本です。
実際にコミットしてみよう
ファイルをGitに記録することを「コミット」と言います。 写真を撮るような感覚だと思ってください。
初回のコミット手順は以下の通りです。
# ファイルをステージング(撮影準備)
git add .
# コミット(撮影)
git commit -m "初回コミット:テーマとプラグインを追加"
コミットメッセージは日本語でOKです。 後で見返したときにわかりやすいメッセージを書きましょう。
変更を記録する習慣をつける
テーマを編集したら、すぐにコミットします。 プラグインを追加したら、すぐにコミットします。
この習慣が大切です。 こまめに記録することで、問題が起きても原因を特定しやすくなります。
例えばこんな感じでコミットします。
# CSSを編集した場合
git add wp-content/themes/mytheme/style.css
git commit -m "ヘッダーの色を青に変更"
# プラグインを追加した場合
git add wp-content/plugins/new-plugin/
git commit -m "お問い合わせフォームプラグインを追加"
メッセージは具体的に書くのがコツです。
GitHubと連携してバックアップ
ローカルだけでなく、リモートにも保存しましょう。 GitHubやGitLabなどのサービスを使います。
リモートリポジトリのメリットを説明します。
クラウドバックアップ パソコンが壊れてもデータが残ります。 大切な変更履歴を失わずに済みます。
チーム共有 他のメンバーと変更を共有できます。 離れた場所でも共同作業が可能です。
履歴の可視化 ブラウザで変更履歴を確認できます。 差分も見やすく表示されます。
GitHubとの連携方法
GitHubでリポジトリを作成したら、以下のコマンドで連携します。
# リモートリポジトリを追加
git remote add origin https://github.com/username/wordpress-site.git
# プッシュ(アップロード)
git push -u origin main
これで変更履歴がGitHubに保存されました。 定期的にプッシュする習慣をつけましょう。
本番環境への反映方法
ローカルで動作確認したら、本番環境に反映します。 いくつかの方法がありますが、代表的な2つを紹介します。
方法1:本番サーバーでGit pullする
本番サーバーにSSH接続してGitコマンドを実行します。
# 本番サーバーにログイン
ssh user@example.com
# WordPressディレクトリに移動
cd /var/www/wordpress
# 最新の変更を取得
git pull origin main
この方法のメリットは自動化しやすいことです。 デメリットはサーバーにGitが必要なことです。
方法2:FTPで差分だけアップロード
変更したファイルだけをFTPでアップロードします。 Gitで変更ファイルを確認できるので効率的です。
# 変更ファイルを確認
git diff --name-only HEAD~1
この方法は多くのレンタルサーバーで使えます。 ただし、手動作業なのでミスに注意が必要です。
トラブル時の対処法
問題が起きたときこそGitの真価を発揮します。 過去の状態に戻す方法を説明しましょう。
特定のコミットに戻る
まず、戻りたいコミットを探します。
# コミット履歴を確認
git log --oneline
履歴が表示されたら、戻りたいコミットIDをメモします。 そして以下のコマンドで戻ります。
# 特定のコミットに戻る
git checkout abc1234
サイトを確認して問題がなければ、そのまま作業を続けます。 問題の原因を特定したら、修正して新しくコミットしましょう。
ファイル単位で戻す
全体ではなく、特定のファイルだけ戻すこともできます。
# 特定のファイルを前のバージョンに戻す
git checkout HEAD~1 wp-content/themes/mytheme/style.css
CSSだけ戻したい、functions.phpだけ戻したい。 そんなときに便利な方法です。
チーム開発での活用方法
複数人で開発する場合、Gitは必須のツールです。 効率的な運用方法を紹介します。
ブランチを活用する
ブランチは作業スペースを分ける機能です。 例えるなら、下書き用のノートを複数持つようなものです。
新機能を開発するときはブランチを作ります。
# 新機能用のブランチを作成
git checkout -b feature/contact-form
# 作業してコミット
git add .
git commit -m "お問い合わせフォームを実装"
# メインブランチに統合
git checkout main
git merge feature/contact-form
この方法なら、本体に影響を与えずに開発できます。 問題があってもブランチを削除すれば済みます。
コンフリクトの解決
複数人が同じファイルを編集するとコンフリクトが起きます。 でも心配いりません。 Gitが教えてくれるので、手動で解決できます。
コンフリクトが起きたファイルを開くと、こんな表示があります。
<<<<<<< HEAD
現在のコード
=======
取り込もうとしているコード
>>>>>>> feature/branch
どちらを残すか、または両方を組み合わせるか決めます。 修正したらコミットして解決完了です。
セキュリティの注意点
Git管理する際は、セキュリティにも気をつけましょう。 特に以下の点は重要です。
機密情報を含めない
データベースのパスワードやAPIキーは要注意です。
これらは.gitignore
で必ず除外しましょう。
# 機密情報を含むファイル
wp-config.php
.env
万が一コミットしてしまった場合は、履歴から削除する必要があります。 GitHubに公開すると、誰でも見られてしまうからです。
プライベートリポジトリを使う
企業サイトや個人情報を扱うサイトの場合。 GitHubのプライベートリポジトリを使いましょう。
無料プランでもプライベートリポジトリが作れます。 公開する必要がない限り、プライベートにしておくのが安全です。
よくある質問と回答
Q: データベースはどう管理すればいい?
A: データベースは別途バックアップを取りましょう。
WordPressのプラグインやMySQLのダンプ機能を使います。
Gitでは.sql
ファイルは管理しないのが一般的です。
Q: 画像ファイルも管理すべき?
A: 基本的には管理しません。
容量が大きくなりすぎるからです。 画像は別途バックアップするか、CDNを使うのがおすすめです。
Q: WordPressの更新はどうする?
A: WordPressコアの更新は管理画面から行います。
Gitでは管理していないので、通常通り更新してOKです。 テーマやプラグインの更新後はコミットを忘れずに。
まとめ
WordPressをGitで管理すると、開発が格段に楽になります。 変更履歴が残り、いつでも過去に戻れる安心感。 これは大きなメリットです。
最初は以下の3つから始めてみてください。
- ローカル環境でGit管理を始める
.gitignore
で管理対象を絞る- こまめにコミットする習慣をつける
慣れてきたらGitHubと連携し、チーム開発にも挑戦しましょう。 一度環境を整えれば、WordPressの運用が劇的に改善されます。
バージョン管理があれば、思い切った改修にもチャレンジできます。 ぜひGitを活用して、より良いWordPressサイトを作ってください。
著者について

とまだ
フルスタックエンジニア
Learning Next の創設者。Ruby on Rails と React を中心に、プログラミング教育に情熱を注いでいます。初心者が楽しく学べる環境作りを目指しています。
著者の詳細を見る →