管理者用Git

移動先: 案内, 検索

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

Gitからコードを取得する

あなたはオフィシャルMoodlegitリポジトリを 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_25_STABLE origin/MOODLE_25_STABLE      (3)
   git checkout local_25_STABLE                                    (4)

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

   git checkout -b local_25_STABLE origin/MOODLE_25_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.2 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_22_STABLE origin/MOODLE_22_STABLE        (3)
   git branch -d master                                            (4)

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

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

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

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

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

これらのコマンドを記載したシェルスクリプトをMoodleのルートディレクトリに置くことは良いアイデアです。そうでなければ、メインMoodleリポジトリにGitリポジトリがあることを簡単に忘れてしまうことでしょう。

関連情報

MoodleDocs
Moodleフォーラムディスカッション (英語)
外部リソース