Nudge — 穏やかな Push

posted by Steve Losh on September 28, 2009

Mercurial を使ってみている git ユーザーの多くが混乱していることとして、 hg push がデフォルトでリポジトリ内のチェンジセット 全て を push することがあげられるでしょう。 git の場合は現在のブランチしか push しません。

git 風の動作が好ましい場合は(恐らくあなたは push まで行かないブランチに取り組むことが多いのでしょう)、それに近いエイリアスを簡単に追加できます。

Mercurial では「作業ディレクトリの親リビジョン」を . というショートカットで指定できます。これを push で使うと、 hg push --rev . の実行で作業ディレクトリの親リビジョン(とその祖先) だけを push できるようになります。 もう、作業中でないブランチをうっかり push してしまうなどという心配は無用です。

~/.hgrc ファイルを編集して 、 このエイリアスを追加しましょう:

[alias]
nudge = push --rev .

さぁ、 hg nudge の実行で、ちょうど今作業しているものだけを push できるようになりました。

hg nudge エイリアスを追加して、作業ディレクトリの親だけを push しよう。