質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

3回答

3958閲覧

WordPressで作ったウェブサイトをGitHubで管理したい

YukiYamamoto

総合スコア17

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

2グッド

4クリップ

投稿2017/05/01 08:59

今勤めている企業でWordPressを使ってコーポレートサイトを管理しています。
ちょっとしたデザインやPHPの書き換えなどをフリーランスのウェブデザイナーに外注して管理しようと思っています。
そこで以前から気になっていたGitを使用して複数人で差分管理しようと思っております。

現状は全てのデータをダウンロードして直接ウェブデザイナーにデータを渡していますが、
記事データが多くやり取りが効率的ではないと実感しています。
GitHubはオンラインカリキュラム等で学習と使用自体はしたことがあるのですが、実践での使用用途が思いつきません。
外注のウェブデザイナーが記述したり変更したところを、こちらでマージすると実際のウェブサイトに反映される。といった利用方法は可能でしょうか。

現状もググったりしてGit自体の概念は分かっていますが、
実際に運営しているサイトへの反映といった形になると解決策が思いつかないため、ご教示いただけますと幸いです。

よろしくお願いいたします。

takotakot, iggy-yuki👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

こんにちは。

データベースに入っていないデータのみ、デザイナーさんとやり取りするのであれば可能と思いますが、記事やお知らせはデータベースに記録されるため、Git管理は非常に難しいです。
また、デザイン上の各種設定がどの程度データベースに記録されているのか、私は把握できていませんが、それなりに入っているような印象です。

VersionPressと言うプラグインがデータベースの内容を取り出してGit管理しています。しかし、去年トライした時は、Undoのためだけにこの機能を使うのでバージョン管理には使えませんでした。

データベースに記録されている情報を、Gitでうまく管理できる形式(変更箇所を行単位で管理できるテキスト)で取り出してGit管理できれば良いのですが。
VersionPressはやっているので原理的にはできる筈ですが、そこそこ難しそうです。

以前自力でトライした時は、普通に取り出すと1つの記事が1行になってしまい直ぐにコンフリクトするため、役に立たなかった記憶が有ります。
しかし、MySQLに詳しい人なら適切に取り出せるかも知れません。(私はMySQLは全くの素人です。)

後、Wordpressはデータベース内にURL情報を記録しています。
なので、別ドメインでサイトを表示するには、そのURLの書き換えが必要になるようです。WordMoveと言うツールがそれをやってくれます。これはなかなか便利です。

投稿2017/05/01 10:46

編集2017/05/01 10:47
Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YukiYamamoto

2017/05/02 00:09

ご回答ありがとうございます。 またプラグインやツールをご紹介いただき感謝しております。 自分の認識がそもそも間違っていたのかもしれませんが、WordPressを使用しない通常のウェブサイトをGitHubやBitbucketなどのツールを使用してもデザイナーからプルリクエストがあったものに対してマージしてもサーバー上のものが書き換わるような設定をすることは別ツールを噛ませる等をしないといけないものなのでしょうか。 追記の質問が多くなってしまい申し訳ございません。
Chironian

2017/05/02 02:41

「通常のウェブサイト」が全てテキスト・ファイルで保持している仕組みでしたら、GitHub等でバージョン管理できると思います。 そして、「自動デプロイ」で検索すると多数の記事がでてきますので、参考にされると良いと思います。 ただ、データベースの内容はGit管理するには何か対策が必要ですので、これらの記事だけではできないと思います。(半年程前に探した時はWordpress対応の記事でもデータベースは対象外のものしか見つけることができませんでした。)
YukiYamamoto

2017/05/02 05:32

ご回答ありがとうございます! DBの部分まで考えが及んでおりませんでした。 仰られている通り「自動デプロイ」や関連キーワードで自分で調べてみて解決しなければ、別途質問スレを立ち上げます。
guest

0

可能ですが、GitHub単体では不可能です。
あくまでGitHubはコードを保管するサービスですので、追加でJenkinsや、CircleCI、TravisCIなどを使用します。

GitHubにはWebHookという仕組みがあります。
それは保管されたコードが変更されたりしたときに別のサービスへそのことを通知する仕組みです。

その通知を上で挙げたようなソフトウェア、SaaSで受信し、 それをトリガーとしてデブロイスクリプトを実行することで本番へ反映させる、という流れになります。

投稿2017/05/01 09:38

TakeoAsai

総合スコア880

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YukiYamamoto

2017/05/01 09:49

なんとなくイメージしました。 ということはGitHubを使用する場合はJenkinsや、CircleCI、TravisCIというツールを使用して可能にするということでしょうか。 現状レンタルサーバー上にWordPressを設置していますが管理的に無理にGitHubを使用しないでGitのみで管理した方が生産的なのでしょうか。
TakeoAsai

2017/05/01 10:04

GitHubを使わなくてもそれらツールは必要です。 またGitのみで管理するのは普通不可能です。何かしらの中央レポジトリが必要です。 おそらくGitについて少し勘違いされていると思います。
YukiYamamoto

2017/05/02 00:03

そうなんですね… 実践で使用していないので勘違い等は往々にあると思います。 もう少し全体像を学習する必要がありますね。
guest

0

Gitなどのリビジョン管理ツールやCIツールでWordpressなどのCMSサイトを管理する場合、サイト側でプラグインを更新すると管理してるリポジトリと内容がかわってしまうので、これらへの対応ルールも考えないといけませんよね。pluginsフォルダを更新管理から外すという手もありますが、そうすると問題発生時にサイトの全てをロールバックしきれない問題もあります。

投稿2017/05/09 09:40

編集2017/05/09 09:43
AnMoreNight

総合スコア109

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問