「おっと、前回のチェックインでいくつかのファイルを含めるのを忘れていました」という状況を処理する最善の方法は何ですか。. . ? 「おっと、これらのファイルを忘れました」というコメントで追加のチェックインでフォローアップするのではなく。. . ?
2 に答える
Mercurial 2.2 以降を使用している場合は、おそらく amend フラグを使用する必要がありますhg commit --amend
。ヘルプから:
--amend フラグを使用して、現在 hg status によって報告されている変更に加えて、親の変更を含む新しいコミットで作業ディレクトリの親を修正できます (存在する場合)。古いコミットは、.hg/strip-backup のバックアップ バンドルに保存されます (復元方法については、hg ヘルプ バンドルおよび hg ヘルプ アンバンドルを参照してください)。
それ以外の場合は、ロールバックを使用できます(履歴を書き換えているため、お勧めしません)hg rollback
:
このコマンドは注意して使用する必要があります。ロールバックのレベルは 1 つだけで、ロールバックを元に戻す方法はありません。また、最後のトランザクション時の dirstate を復元し、それ以降の dirstate の変更をすべて失います。このコマンドは作業ディレクトリを変更しません。
または使用hg backout
:
現在の作業ディレクトリで REV undo の効果を持つ新しい変更セットを準備します。REV が作業ディレクトリの親である場合、この新しい変更セットは自動的にコミットされます。それ以外の場合、hg は変更をマージする必要があり、マージされた結果はコミットされません。