「管理者用Git」の版間の差分

提供:MoodleDocs
移動先:案内検索
64行目: 64行目:
* [[管理者用CVS]]
* [[管理者用CVS]]
* [[Moodleバージョン]]
* [[Moodleバージョン]]
* For some screenshots see [[User:Frank_Ralf/Git]] (still work in progress)


; Moodle forum discussions
; Moodleフォーラムディスカッション (英語)
* [http://moodle.org/mod/forum/discuss.php?d=168094 GIT help needed]
* [http://moodle.org/mod/forum/discuss.php?d=168094 GIT help needed]
* [http://moodle.org/mod/forum/discuss.php?d=165236 Best way to manage CONTRIB code with GIT]
* [http://moodle.org/mod/forum/discuss.php?d=165236 Best way to manage CONTRIB code with GIT]
73行目: 72行目:
* [http://moodle.org/mod/forum/discuss.php?d=183693 Git and CVS]
* [http://moodle.org/mod/forum/discuss.php?d=183693 Git and CVS]


; External resources
; 外部リソース
* [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday GIT With 20 Commands Or So]
* [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday GIT With 20 Commands Or So]
* [http://gitref.org/ Git Reference]
* [http://gitref.org/ Git Reference]

2011年10月2日 (日) 15:10時点における版

作成中です - 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リポジトリにアクセスして、変更内容をアップストリーム (上流 upstream) からpullする必要があります。

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

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

関連情報

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