1.リポジトリ作成
管理したいフォルダに移動し、下のコマンドを入力するとリポジトリが作成される。
> hg init
リポジトリの作成後に、lsで確認してみると、『.hg』というファイルが作成されている。
2.現在のプロジェクトの状態
現在の状態を確認してみる。
> hg stat
? index.htmlと表示され、ファイル名の直前にハテナマークがついている。
まだ管理対象となっていないことを表している。
3.作成したファイルをバージョン管理対象とする。
ハテナマークがついたファイルを、これからバージョン管理したいということを
Mercurialに命令する。下記コマンド後に状態を確認してみるとハテナマークが『A』
に変更されていた。
> hg add *
4.現在管理しているファイルをコミットする。
> hg commit -m 'first commit'
ここで私はエラーがでました。
>中断: ユーザ名が未指定です("hg help config" 参照)
どうやらホームディレクトリに設定ファイルを作成して、ユーザー名を設定しなくては行けないみたいです。
ホームディレクトリに移動
> cd ~
設定ファイルを新規で作成
> vim .hgrc
2行を設定ファイルに追加しました。
この設定でコミットは無事できましたので、参考までに
[ui]
username = Yusuke Arai <arai.yusuke.j@gmail.com>
5.コミットのログを確認する。
> hg log
チェンジセット: 0:c30dfe28b9af
タグ: tip
ユーザ: Yusuke Arai<arai.yusuke.j@gmail.com>
日付: Sun Dec 30 21:22:58 2012 +0900
要約: first commit
6.バージョン管理させたくないファイルを指定する。
現在管理しているプロジェクトのディレクトリ直下に『.hgignore』ファイルを作成して
無視するパターンを記述してあげる。
>vim .hgignore
syntax: glob
*.txt
この2行の意味は、拡張子『.txt』はバージョン管理から外すということです。
syntax: globをきちんと入力しないと、次回hgコマンド入力時にエラーが表示されます。
7.外部サーバーにあるリポジトリをクローンする。
> hg clone http://www.selenic.com/repo/hello my-hello
全リビジョンを取得中
リビジョンを追加中
マニフェストを追加中
ファイルの変更を追加中
2 個のリビジョン(2 の変更を 2 ファイルに適用)を追加
ブランチ default へ更新中
ファイルの更新数 2、 マージ数 0、 削除数 0、 衝突未解消数 0
上のコマンドを入力後にメッセージが表示され、成功すると『my-hello』というディレクトリが作成されました。
my-helloディレクトリに移動してダウンロードしたリポジトリのコミットログを確認してみます。
> hg log
チェンジセット: 1:82e55d328c8c
タグ: tip
ユーザ: mpm@selenic.com
日付: Fri Aug 26 01:21:28 2005 -0700
要約: Create a makefile
チェンジセット: 0:0a04b987be5a
ユーザ: mpm@selenic.com
日付: Fri Aug 26 01:20:50 2005 -0700
要約: Create a standard "hello, world" program
きちんとクローンされて、ファイルと履歴が引き継ぎされていることが確認できました。
8.プロジェクト管理しているファイルを削除する
> hg remove main.css> hg diff
diff -r 421271e1e440 main.css
--- a/main.css Sun Dec 30 21:43:37 2012 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-a {
-
-}
9.間違ってrmして削除したファイルを復元する。
> rm index.html> hg stat
! index.html
> hg update -C -r tip