====== 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 リビジョン番号
現在の変更を破棄して強制的に指定したリビジョンに戻す
===== もっと有効な使い方 =====
まだ試してないので書けないのだが、バージョン管理してるので前のデータに戻したりする事も
簡単に出来るのだ!