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

mercurialは分散型のバージョン管理システム。
毎回プログラムを作るときに、例えば実験などで

%> cp 091022 091024
こんな感じをしてディレクトリを分けているのだけれども、とても面倒。
またどのディレクトリに何が入っているのか分かり辛くなって大変。
せっかくなのでバージョン管理を導入したい。
以上、mercurialへの動機のくだり。
ubuntuならば簡単に
taki@false%> sudo apt-get install mercurial
でインストール出来たはず。(少し前なので覚えていないです)
とりあえずコマンドhgが使えれば大丈夫でしょう。
さて、とりあえず適当な場所に場所を作って練習してみよう。
$taki@false:~/program/>mkdir test
$taki@false:~/program/>cd test
$taki@false:~/program/test>hg init
$taki@false:~/program/test>ls -aL
./ ../ .hg/
このようにディレクトリを作って初期化します。
初期化
$taki@false:~/program/test>hg init
hg initを実行したディレクトリを管理対象にします。
管理対象になると、設定の隠しディレクトリ .hg が作られます。
ところでhgは水銀のことですが。これはmercurialとかけているのかな?
さて、とりあえず適当なC言語のソースを書いてみます。
#include <stdio.h>
int main(int argc, char** argv){
printf("test message\n");
return 0;
}
このようにC言語のソース、まだ何も書いていない状態といった感じ。
これを管理対象にします。
管理対象というのはさっきから使っていますが
要するに復元したり、バージョンを見たり、いろいろ出来る対象と認識しています。
詳しく知っているわけではないのであれですが。
とりあえずディレクトリにうつって
$taki@false:~/program/test$hg status
このようにうつと、現在の対象ディレクトリの中身のファイルが
現在どのような状態になっているのか分かります。
taki@false:~/program/test$ hg status
? test.c
こうなっています。
今、ディレクトリ内部にあるtest.cは?という状態。
?は管理対象になっていないことを表しているらしい。
これを管理対象にするにはaddコマンドです。
taki@false:~/program/test$ hg add test.c
taki@false:~/program/test$ hg status
A test.c
このように状態がAになります。
管理対象に追加されました。
*管理対象はおそらく、普通の情報では「登録対象」かな。
*こういった管理されているまとまりをレポジトリと言うらしい、今回はtestレポジトリ
*ついでに言うとtestディレクトリがレポジトリルートです。
*発音的にはリポジトリかな?どっちでもいいでしょう、きっと。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です