Edo::World::Blog

〜Linux/Solaris関連の作業メモ〜

Mercurial

[Mercurial] gitとのコマンド差異

[Mercurial] 備忘録


環境設定

[.hgignore]

globとregexpの二つの書き方が可能

# パターンマッチ
syntax: glob
*.pyc
*~

# 正規表現
syntax: re
^\.txt


リポジトリへのパスを表示

$ hg path
default = ssh://hg@bitbucket.org/hoge/repo


hg parents

現在のリビジョンを表示(-vでファイル情報付きで表示)


tag

[タグの一覧を表示]

$ hg tags

[タグ付け]

hg tag -r <リビジョン番号> <タグ名>


ブランチ

ブランチ一覧を表示

$ hg branches

[ブランチ作成]

$ hg branch <ブランチ名>

[ブランチの切替]

$ hg update -C default
$ hg branch

[マージ]

$ hg merge -r <ブランチ名>

# コンフリクト時
$ hg resolve -l     ※コンフリクトしたファイルの表示
U a.txt
$ vi a.txt
$ hg resolve -m a.txt
$ hg resolve -l  
R a.txt     ※ステータスがRである事
$ hg commit -m'merge'

hg log

[(-v) ファイル情報を含むログ情報を表示]

$ hg log  -v

[指定したファイルのログ情報を表示]

$ hg log  -v <ファイル名>

[(-l) リビジョン数を指定して表示]

$ hg log -l 5  ※現在から5つ分のリビジョン情報を表示

[(-r) リビジョン番号を指定してログ情報を表示]

$ 
hg log -r 3
※リビジョン番号3を表示 $
hg log -r 3:5
※リビジョン番号3~5を表示

[headのログ情報を表示]

$ hg log -r "head()"

[ログ情報をグラフ表示]

$ hg glog


hg cat

$ hg cat -r <リビジョン番号> <ファイル名>


hg diff

$ hg diff

[(-r) 指定したリビジョンからの差分情報を表示]

$ hg diff -r 2         ※ リビジョン番号2と作業領域の差分を表示
$ hg diff -r 1 -r 2  ※ リビジョン番号1と2の作業領域の差分を表示

[(-c) 指定したリビジョンからの変更情報を表示]

$ hg diff -c 2         ※ リビジョン番号2の変更情報を表示


hg pull

作業領域よりリポジトリの情報が新しい場合

# hg commit

# リポジトリと作業領域の差分を確認
$ hg in  ※(inは、incommingの略)差分が表示されない場合は、リポジトリと同期がとれた状態

# 指定リポジトリからの変更履歴の取り込み
$ hg pull

# 作業領域の更新
$ hg update


作業領域からpull後、リポジトリを更新

# hg commit 

# リポジトリと作業領域の差分を確認
$ hg out  ※(outは、outgoingの略)差分が表示されない場合は、リポジトリと同期がとれた状態

# 作業領域
$ hg push file://$(whoami)@localhost/repo

#レポジトリに移動して最新化
$ cd /repo; pwd
$ hg log          ※ 作業領域でpushした情報が未反映
$ hg update    ※ 更新


ブランチ

$ hg status <リビジョン番号>
 ~作業領域のファイル変更~
$ hg commit
新規ヘッドが増えました
$ hg head   ※2つのリビジョン情報が表示される
$ hg glog    ※分岐状態を確認

$ hg merge
$ hg commit -m'merge'
$ hg glog


rollback

[指定ファイルをコミット前の状態に戻す]

$ hg rollback                                   ※直前のコミットを取り消し
$ hg revert <対象ファイル名>     ※編集内容を取り消し
$ ls -l *.orig        ※revert時に変更前の状態が「指定ファイル名>.orig」でバックアップされる。必要に応じて削除

[前ファイルをコミット前の状態に戻す]


export

[リポジトリの全ファイルをzip形式でアーカイブ]

$ hg archive -r tip -t zip ../$(basename $(pwd)).zip

# アーカイブされたファイルの内容を確認
$ unzip -l../$(basename $(pwd)).zip 

[リポジトリから指定ファイルのみzip形式でアーカイブ]

$ hg archive -r tip -t zip ../$(basename $(pwd)).zip -I a.txt

|<

[リポジトリから指定ファイルを除く前ファイルをzip形式でアーカイブ]

$ hg archive -r tip -t zip ../$(basename $(pwd)).zip -X a.txt


help

add 指定ファイルの追加登録予約
annotate ファイル行毎のリビジョン情報表示
clone 既存リポジトリの複製
commit 指定ファイルないし全ての変更内容のリポジトリへの記録
diff 作業領域全体(ないし指定ファイル)の差分抽出
export 1つ以上のリビジョンに対するヘッダおよび変更内容の出力
forget 次回コミットにおける指定ファイルの登録除外
init 指定されたディレクトリでの新規リポジトリの作成
log リポジトリ全体ないしファイルの変更履歴の表示
merge 作業領域の内容と他のリビジョンのマージ
pull 指定リポジトリからの変更履歴の取り込み
push 指定リポジトリへの変更履歴の反映
qdiff 現行パッチと作業領域変更の結合結果の表示
qnew 新規パッチの作成
qpop 現行パッチの適用解除
qpush 次のパッチの適用
qrefresh 現行パッチの更新
remove 次回コミットにおける指定ファイルの登録除外
serve 独立したウェブサーバの実行開始
status 作業領域のファイル操作状況の表示
summary 作業領域状態の概要表示
update 作業領域の内容更新(ないしリビジョンの切り替え)


[Bitbucket] 初回コミットまで

https://bitbucket.orgでリポジトリ作成後のコマンドめも

続きを読む

[Mercurial] インストール編

環境: CentOS6.0

続きを読む
プロフィール

edworld

記事検索
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

livedoor 天気
  • ライブドアブログ