修正をひたすらかました後、やっぱ元に戻してくれ
てなったときに便利なSubversion(以下SVN)。
SVN使うと.svnフォルダが作成される。
皆で使うSVNがあったら自分専用SVNが使えない。
同じフォルダで自分専用にもSVNの機能が欲しいんだよ!
そんなときに以下がオススメ
個人で簡単に使える分散バージョン管理ツール Mercurial
cygwinとコマンドプロンプト両方で使える。
pathは通しておいた方が便利。
使い方の基本
hg init、hg add、hg commit、hg log、hg diff
だけ覚えておけば、とりあえず使うのには困らない。
後日無視リストの作成方法について書いた。
使用したいディレクトリに移動
Cygwinでは以下
$ hg init
コマンドプロンプトでいうところの『cd init』
※Subversion の svn-admin create と import を同時にやっているような感じ。
『hg stat』で管理状態が確認できる。
まだファイルを追加していないので「?」が表示される。
$ hg stat ? test1.txt ? test2.txt
add コマンドでファイルを追加し commit コマンドでリポジトリへ反映
$ hg add *
cygwinでは↑だけではフォルダ内まで反映されないこと有り
$ hg commit -m "first import"
『$ hg add */*/*/*』とかやらなきゃならんこともある
「'」は使えない何故か 「"」で囲う
『No username found, using 'user@D9JSM5BX2' instead』出ても気にしない
『hg diff』で差分を確認
hg diff -r 3b701cee8925 test1.txt --- a/test1.txt Wed Mar 12 01:31:25 2008 +0900 +++ b/test1.txt Wed Mar 12 01:36:26 2008 +0900 @@ -1,1 +1,1 @@ -hello mercurial +good night...
変更内容を戻す場合は『revert』
revert すると変更中のファイルが .orig として残る。
うっかり revert して作業中のファイルを消した人には助かる機能。
$ hg revert test1.txt $ ls test1.txt test1.txt.orig test2.txt
変更点をコミットしてコミットログを表示
$ hg commit -m 'test1.txt: hello to good night' $ hg log
相違点確認『diff』
Subversion と違ってリポジトリが手元にあるので、コミットしたリビジョンの diff も簡単に確認できる。
$ hg diff -r 0:1 diff -r 3b701cee8925 -r bd8bcd244b94 test1.txt --- a/test1.txt Wed Mar 12 01:31:25 2008 +0900 +++ b/test1.txt Wed Mar 12 01:37:00 2008 +0900 @@ -1,1 +1,1 @@ -hello mercurial +good night...
ファイル名の変更は『rename』
svn move と同じらしい。
$ hg rename test1.txt test3.txt $ hg stat M test1.txt.orig A test3.txt R test1.txt
コメント