2012年12月30日日曜日

Mercurial(2)

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
 

0 件のコメント:

コメントを投稿