1. Top » 
  2. スポンサー広告 » 
  3. 【mercurial】【バージョン管理】mercurialの話(二度目)
  4. mercurial » 
  5. 【mercurial】【バージョン管理】mercurialの話(二度目)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Genre:

【mercurial】【バージョン管理】mercurialの話(二度目)

一度目の話 【mercurial】【バージョン管理】mercurialの話(最初)



さて、まだしばらく書いていきます。
何かに書いておかないと自分が忘れてしまうんで・・・

【前回のおさらい】
1.mercurialはヴァージョンを管理するためのソフトだ
2.管理するあるヴァージョンのことはリビジョンと呼ぼう(revision)
3.あるディレクトリの初期化は hg init だ
4.そこのファイルを管理対称に追加するには hg add だ
5.管理しているファイルたちの状態は hg status で見られる

ここら辺まで書いてますね、自分で確認しました。
それでは今の状況をもう少し確認します。

/┬ test 対象
 ├ .hg  設定ファイル
 └ test.c 適当なコード

test.cはC言語の適当なソースでした。

#include <stdio.h>
int main(int argc, char** argv){
printf("test message\n");
return 0;
}

それでははじめていきます。

まず、新しいリビジョンを作ります。
リビジョンを作ると、その時点でのバージョンを保存して置いてくれます。
何か大きな変更をする前や、一日の終わりなどに使うのかな?
リビジョンを作っておくと番号がついて、それを操作できるようになります。
操作によって、あるリビジョンからファイルを復元したり、リビジョンごと保存したり
いろいろと便利です。

リビジョンを作るコマンドは hg commit です。
初期実行時、どのエディタを使って説明のファイルを書くのかを聞かれます。

taki@false:~/program/test$ hg commit
No username found, using 'taki@false' instead

Select an editor. To change later, run 'select-editor'.
1. /usr/bin/vim.tiny
2. /bin/ed
3. /bin/nano <---- easiest
4. /usr/bin/emacs-snapshot

Choose 1-4 [3]: 4

ちなみに私は4のemacs-snapshotですが、1とかでもいいかな。
Emacsを使っている最中にもう一つのEmacsが開くと少し邪魔です。

次のようにかかれているので、設定を書きます。

HG: Enter commit message.  Lines beginning with 'HG:' are removed.
HG: --
HG: user: taki@false
HG: branch 'default'
HG: added test.c
ブログの記事のためのレポジトリに
C言語で書いた適当なソースを追加した

HGで始まらない行がコメント(commitのメッセージ)になります。
さて、commitすると設定フォルダの中に設定がかかれます。
これを参照するには、コマンド hg log を使います。


taki@false:~/program/test$ hg log
changeset: 0:ec4b7d568ed4
tag: tip
user: taki@false
date: Sat Oct 24 09:02:37 2009 +0900
summary: ブログの記事のためのレポジトリに

日本語が化けた。
得に設定してないからダメ。

このように、番号(changeset)やユーザ、日付、要約。
さらにはcommit時のメッセージを見ることができます
*これ、いつのlogだ・・・?


ちなみにcommitすると、今までhg statusでAになっていた
つまり「追加された」という状態になっていたものが表示されなくなります。
これはcommitされたためです。

logは何もオプションを指定しないと全て出力されます。
changesetの番号が分かっている場合、それを指定するといいでしょう。
指定する場合のコマンドオプションは-r(revisionの頭文字)です。

taki@false:~/program/test$ hg log -r 1
changeset: 1:6b6bff58ecb8
tag: tip
user: taki@false
date: Sat Oct 24 09:04:48 2009 +0900
summary: Add printf and comment in English.
このように、-r 1とすることでリビジョン番号1のログだけを取り出せる


このようにリビジョンを追加して、コメントを書いておくと
今の状態がどこまで進んだ状態なのか分かるようになります。
普段はsummaryだけの表示ですが、-vオプションを使うことで全てのコメントが表示されます。

また、リビジョンで結局どこが変更されたのか知りたい場合があるかもしれません。
その時は、コマンドオプションとして-pを使います。

taki@false:~/program/test$ hg log -r1 -p
changeset: 1:6b6bff58ecb8
tag: tip
user: taki@false
date: Sat Oct 24 09:04:48 2009 +0900
summary: Add printf and comment in English.

diff -r ec4b7d568ed4 -r 6b6bff58ecb8 test.c
--- a/test.c Sat Oct 24 09:02:37 2009 +0900
+++ b/test.c Sat Oct 24 09:04:48 2009 +0900
@@ -1,5 +1,6 @@
#include <stdio.h>
int main(int argc, char** argv){
printf("test message\n");
+ printf("test message no 2\n");
return 0;
}

どこが変更されたのか。
a->bと変更されている、おそらく追加+ということ。
追加されている行は+で表示されている。


ほほほ。
少しずつ便利になってきました。

それでは二回目のまとめ!

1.リビジョンを登録する時は hg commit
2.リビジョンを表示する時は hg log
3.logに-rと番号で、一つのリビジョンに絞れる
4.logに-vを使うと全てのコメントが見れる
5.logに-pを使うとどこが変わったのか見れる

まだまだ続きます。
ただ登録しただけではつまらないので、そろそろ回復とかも書きたいですね。
関連記事
スポンサーサイト

Comment

コメントフォーム
このエントリへコメントを書く
(任意)
(任意)
(任意)
(必須) HTMLタグは使用できません
(任意) ID生成と編集に使用します
(任意) 非公開コメントにする

Page Top

Trackback

Trackback URI
http://parabola0.blog86.fc2.com/tb.php/585-ecfdecd1 この記事にトラックバックする(FC2ブログユーザーのみ)

Page Top

訪問者

お引っこし。 http://parabola.sblog.jp/

プロフィール

parabola0

Author:parabola0
Twitter用ですが…。
プロフィール

最新記事
最新コメント
最新トラックバック
カテゴリ
月別アーカイブ
検索フォーム
リンク

このブログをリンクに追加する

QRコード
QRコード
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。