管理者用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フォーラムディスカッション (英語)
- GITに関して助けてください (GIT help needed)
- GITでCONTRIBコードを管理するための最良の方法 (Best way to manage CONTRIB code with GIT)
- サードパーティのモジュールおよびプラグインを追跡するためのGitの便利なヒント (Handy Gittip for tracking 3rd-party modules and plugins)
- (Moodle Gitrepositories)
- GitおよびCVS (Gitand CVS)
- 外部リソース