管理者用Git

提供:MoodleDocs
移動先:案内検索

作成中です - Mitsuhiro Yoshida

あなたのMoodleサーバをメンテナンスするためのCVSの代わりとして、Gitを使用することができます。このページでは、あなたの実運用サイトでどのようにしてMoodleを管理するのか説明しています。Gitを使用することで、簡単にMoodleをアップグレードすることができます。あなたがMoodleのコアコードをカスタマイズしている場合、開発者用Git内のインストラクションに従ってください。

Gitからコードを取得する

あなたはオフィシャルMoodle gitリポジトリを git://git.moodle.org/moodle.git で見つけることができます (公式クローンは git://github.com/moodle/moodle.git にあります)。あなたのローカルチェックアウトを初期化するには:

   git clone git://git.moodle.org/moodle.git                       (1)
   cd moodle
   git branch -a                                                   (2)
   git branch --track local_19_STABLE origin/MOODLE_19_STABLE      (3)
   git checkout local_19_STABLE                                    (4)

コマンド (1) では、新しいローカルリポジトリをアップストリーム (upstream 上流) にあるmoodle.gitリポジトリのクローンとして初期化します。デフォルトでは、このアップストリームのリポジトリは「origin」リモートリポジトリとして知られることになります。コマンド (2) では、すべての利用可能なブランチを一覧表示します。コマンド (3) では、local_19_STABLEという名称の新しいローカルブランチを作成して、アップストリームリポジトリのブランチ「MOODLE_19_STABLE」を追跡 (track) するよう設定します。コマンド (4) では、新しく作成したブランチに実際にスイッチします。最後の2つのコマンドは、下記のコマンドに置き換えることができることに留意してください:

   git checkout -b local_19_STABLE origin/MOODLE_19_STABLE         (3 + 4)

このコマンドでは、新しいローカル追跡ブランチを作成して、そのブランチに即座にスイッチします。

あなたのインストール済みMoodleを更新する

Moodle開発チームは、バグ修正の統合およびテストを毎週月曜日および木曜日に実施しています。あなたのコードを更新するために、水曜日にすべてのパッチをインストールすることができます。公式リポジトリがすで更新されているかどうか、ショートログをご覧ください。

   cd /path/to/your/moodle/checkout
   git fetch                                                       (1)
   git status                                                      (2)
   git merge                                                       (3)

コマンド (1) では、あなたのローカルチェックアウトを触らずにリモートリポジトリより新しいアップデートをダウンロードします。コマンド (2) では、あなたのローカルバージョンとアップストリームのバージョンの違いに関する情報を表示します。コマンド (3) では、実際にあなたのローカルファイルを更新します。git-fetch + git-mergeのコマンドの組み合わせは下記単一コマンドと入替えることができます:

   git pull                                                        (1 + 3)

Gitリポジトリから投稿拡張モジュールをインストールする

例えば、私たちのMoodle 2.0 gitリポジトリよりブックモジュールをインストールしたいとしましょう。

   cd /path/to/your/moodle/checkout
   cd mod                                                          (1)
   git clone git://github.com/skodak/moodle-mod_book.git book      (2)
   cd book
   git checkout -b MOODLE_20_STABLE origin/MOODLE_20_STABLE        (3)
   git branch -d master                                            (4)

コマンド (1) では、あなたのローカルMoodleクローン内の「mod」ディレクトリに現在のディレクトリを変更します。コマンド (2) では、新しいサブディレクトリ「book」を作成して、Petr Škoda氏のブックリポジトリのローカルクローンを作成します。コマンド (3) では、Moodle 2.0用ブックモジュールのリモートブランチを追跡するための新しいローカルブランチを作成します。コマンド (4) では、実運用サイトのチェックアウトには必要ではないため、(2) のgit-cloneで自動的に作成された「master」を削除します。

下記のように、新しいディレクトリ「mod/book/」内にメインのMoodleクローンからの除外リストを置いた方が良いでしょう。

   cd /path/to/your/moodle/checkout
   echo /mod/book/ >> .git/info/exclude

あなたのMoodleを更新するには、両方のgitリポジトリにアクセスして、変更内容をアップストリームからpullする必要があります。

   cd /path/to/your/moodle/checkout
   git pull
   cd /path/to/your/moodle/checkout/mod/book
   git pull

Writing a shell script with these lines in the root of Moodle installation is a very good idea. Otherwise it is easy to forget what Git repositories are there within the main Moodle repository.

関連情報

Moodle Docs
Moodle forum discussions
External resources