====== Mercurial ====== PHPやPerlやBashでイロイロとスクリプトを書く事が多く 何かでバージョン管理をしなきゃなーって思ってたけど、SubVersionとか面倒だったので 少し探したらMercurialってのがあったので試してみた ===== インストール ===== # yum install gcc python python-devel python-setuptools # easy_install mercurial CentOS5.7では上記手順でインストールができた ===== 設定 ===== 1.作成してるスクリプトが保存されているフォルダで以下のコマンドを実行 # hg init フォルダ内に.hgフォルダが作成されている(はずだ) バージョン管理なんてやーめたって時には.hgフォルダを削除するだけ 2.不要なファイルがある場合は.hgignoreを設定する 書き方は・・・あとで(^^; 3.リポジトリに追加する準備をする # hg add * 4.リポジトリに追加されるファイル(Aのマーク)をチェック # hg st statusって事ね 5.コミットしてみよう # hg commit -m 'コメントを書ける。というか書くんだ!' -mオプションを立ててないとエディタが起動するよ Linuxの場合、コミットするユーザを明確に指定してやらないとエラーになるようだ vi ~/.hgrc [ui] username = <ユーザ名> 6.ログを確認 # hg log ===== 開発環境のリポジトリをクライアントにコピー ===== SSHを使ってダウンロードしてくるので、リポジトリにアクセス可能なユーザが必要になる # hg clone ssh://ユーザ@開発サーバ/リポジトリディレクトリ ダウンロード先 開発サーバとリポジトリディレクトリの区切り文字が「:」ではなく「/」なので注意 例 リポジトリのデータをコピーしてくる # hg clone ssh://root@example.ne.jp//opt/mkl/project/ /var/www/html ローカルのデータをリポジトリにアップする # hg clone /var/www/html ssh://root@example.ne.jp//opt/mkl/project/ ===== 更新してみよう ===== 開発環境でファイルを更新したらコミットを再度しておこう # hg add * # hg commit -m 'コメント' コピー先のサーバーのリポジトリフォルダ内で以下のコマンドを実行 # hg pull # hg update クライアント側のデータをリポジトリにPUSH # hg push ssh://ユーザ@リモート//保存先path リモートリポジトリ側で # hg update hg update リビジョン番号  指定したリビジョンに戻す hg update -C リビジョン番号 現在の変更を破棄して強制的に指定したリビジョンに戻す ===== もっと有効な使い方 ===== まだ試してないので書けないのだが、バージョン管理してるので前のデータに戻したりする事も 簡単に出来るのだ!