クイックスタート
せっかちな人にぴったりな入門編。
Contents
1. ユーザー名を設定する
まず始めに、 Mercurial がコミット時に使うユーザー名を設定しましょう。 適切なメールアドレスを ~/.hgrc 1 (Windows システムでは %USERPROFILE%\Mercurial.ini) に設定するのが一番です。ファイルを作って以下の行を追加しましょう:
[ui] username = John Doe <john@example.com>
2. 既存のMercurialプロジェクトを取り組む
repository (例えば http://selenic.com/hg )のようなブラウザで閲覧できるURLがあれば、次のようにコピーを入手できます:
$ hg clone http://selenic.com/hg mercurial-repo 実際の URL: http://www.selenic.com/hg/ 全チェンジセットを取得中 チェンジセットを追加中 マニフェストを追加中 ファイルの変更を追加中 19124 のチェンジセット(9633 の変更を 1271 ファイルに適用)を追加 ブランチ default へ更新中 ファイル状態: 更新数 1084、 マージ数 0、 削除数 0、 衝突未解決数 0
このコマンドは mercurial-repo というディレクトリを作り、プロジェクトの完全な履歴を入手し、 default ブランチの最新 チェンジセット をチェックアウトします。
'summary' コマンドは 作業ディレクトリ の状態をざっと表示します。コマンド名は省略可能なため、 'hg sum' とタイプするだけで十分です:
$ hg sum 親リビジョン : 9632:16698d87ad20 tip util: use sys.argv[0] if $HG is unset and 'hg' is not in PATH ブランチ : default 想定 commit 結果: (改変無し) update 候補 : (現行のまま)
ここで 想定 commit 結果: (改変無し) は ローカルの変更点 が無いという意味で、 update 候補: (現行のまま) は(作業ディレクトリに)チェックアウトしたファイルがリポジトリの最新リビジョンに更新されているという意味です。
3. 新しいMercurialプロジェクトをセットアップする
あなたのプロジェクトがあるディレクトリにリポジトリを作ることから始めましょう:
$ cd project/ $ hg init # .hg を作成する
Mercurial は、リポジトリのルートに .hgignore 2 というファイルがあれば、リストアップされた glob パターンや正規表現に一致するファイルを無視します。 これが .hgignore ファイルの一例です:
syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$
'status' コマンドで .hgignore ファイルをテストしましょう:
$ hg status # すべての無視されないファイルを示す
このコマンドによって '?' フラグ(追跡されません)で無視されないすべてのファイルの一覧が表示されます。追跡したいファイルのみがステータスによって一覧表示されるまで. 'hgignore' ファイルを編集して下さい。.hgignoreファイルも追跡したいことでしょう!しかしおそらくビルドプロセスによって生成されたファイルを追跡したくないでしょう。満足したら、追加するファイルを予約し、コミットします:
$ hg add # 'unknown' ファイルを追加する $ hg commit # 変更点を全て新しいチェンジセットにコミットし、 changelog エントリーを変更 $ hg parents # 現在チェックアウトされているリビジョン(またはチェンジセット)を表示
コマンドのヘルプはこれです:
$ hg help
4. クローン、コミット、マージ
$ hg clone project project-work # リポジトリをクローンする $ cd project-work $ <何か変更> $ hg commit $ cd ../project $ <もっと変更> $ hg commit $ hg pull ../project-work # project-work からチェンジセットをプル $ hg merge # project-work の tip を作業ディレクトリへマージ $ hg parents # 作業コピーへマージしたリビジョンを表示 $ hg commit # マージの結果をコミットする
5. パッチをエクスポートする
(何か変更) $ hg commit $ hg export tip # 最新のコミットをエクスポートする
6. ネットワークサポート
# Mercurial のメインリポジトリからクローンする $ hg clone http://selenic.com/hg/ $ cd hg # 既存の別リポジトリから新しいチェンジセットをリポジトリ (.hg) へプル $ hg pull http://selenic.com/hg/ # ブラウザで閲覧できるインターフェイスで HTTP ポート 8000 経由で現在のリポジトリをエクスポートする $ hg serve -n "My repo" # SSH でリモートリポジトリへチェンジセットをプッシュ $ hg push ssh://user@example.com/hg/