Mercuralとは?
非エンジニアにとってのお役立ち度/知名度が最も高いツールだと思う。
版管理ツールと呼ばれるもののひとつで、ファイルに対して、Windowsにおける復元ポイントみたいなものをつくってくれるツール。プレステにおけるメモリーカード的なツールとも言える。ファイルの状態をセーブ・ロード・コピーできる。下記では、プレステのメモリーカードに例えて話をすすめる。版管理を言葉で説明するのは難しいので、実際に動かしてみることを激しく勧める。インストールして動く状態になっていれば、基礎は20分くらいで習得できると思う。
Mercurialのインストール方法は?
ここから最新版のMercurialをダウンロードしてインストール
#たぶんあってるけど、ちがったらごめん
空のメモリーカードを作成する
hg init
Mercurialは、フォルダごとに管理を行うため、監視したいフォルダごとにメモリーカードが必要になる。
Windows7なら、windows key->cmd->enterを押すとコマンドプロンプトが出る。入力して監視したいフォルダまで移動し、上記のコマンドを打つことで空のメモリカードを作成する。成功すると、該当のフォルダに.hgという名前のフォルダが作成される。この.hgフォルダがメモリカードに相当する。
移動の意味がわからなかったら、そのへんのエンジニアに聞けば5秒くらいで回答してくれるはず。
該当のディレクトリ配下にあるファイルをメモリーカードの保存監視対象にする
hg add
このコマンドで該当のフォルダ内のファイルがすべて監視対象になる。新たにファイルを追加するたびに実行する必要がある。
該当ディレクトリの監視状態を確認する
hg st
# M tinko.txt
# A hage.txt
# ! unko.txt
# ? fugu.txt
このコマンドで監視状態を確認することができる。
上記のMが最後にセーブデータに記録されてから編集されたファイル。Aが監視対象に新たに加えられたファイル。!が監視対象だったが削除されたファイル。?が監視対象にないファイル。Rは監視対象から外され、かつ削除されたファイル。
メモリーカードに現在のフォルダの中の状態をセーブする
hg ci -m "セーブに関するメモをここに残す"
このコマンドにより、セーブデータ(=復元ポイント)を作成できる。.hgフォルダをいじらない限り、セーブデータは消えないと思っていていい。
メモリーカードのセーブのログを見る
hg log
いままで作成したセーブデータの履歴をみることができる。セーブデータごとに番号がついている。
メモリーカードのセーブデータからロードする
hg up -C セーブの番号
# 例 hg up -C 3
# 上記の例は、3番のセーブを復元するという意味
上記を実行すると、該当のセーブデータの状態にファイルが書き換わる。過去のセーブデータからロードを行っても、一度セーブしたデータは消えないので、安心していい。
最後にロードしたセーブデータをみる
hg par
このコマンドで、最後にロードを行ったセーブデータの概要を見ることができる。
ロードを一度も行っていなければ、最後にセーブしたデータの概要が表示される。
セーブデータをコピーする
hg clone パス名
# 例 hg clone c:¥MercurialTest
# c:¥MercurialTestにメモリーカードがあれば、そのフォルダごとコピーしてカレントディレクトリにコピーする
# カレントディレクトリがわからなければ、そのへんのエンジニアに聞いてください
想定FAQ
Q.なんでgitじゃないの?
むずかしいから。
Q.セーブデータの正式名称は?
リポジトリ。
Q.Windows環境で日本語設定がうまくいかないんだけど、解決策ある?
ある。ぐぐれ。たぶん簡単。7は手元にないからわからん。XPの設定は要望があれば載せる。
ヒント:c:¥program files¥Mercurial¥Mercurial.ini
Q.説明の意味がよくわからないのでもっと詳しく教えてください
どのサイトの説明見てもたぶんあまりピンとこない。インストールさえ終われば動かすのは簡単だし、20分くらいでそれぞれのコマンドの意味はわかるんじゃないかと思う。
Q.出力結果例示したりチュートリアルっぽくして教えてください
眠たい。達人は編集リクエストください。