リビジョン1、2、3、4、5、6のHGリポジトリがあります。
リビジョン4をコミットしたとき、私は知らないうちにrev3にあるべきでないいくつかの変更を失敗させました。リビジョン6がコミットされるまで、私はこれに気づきませんでした。
リビジョン4での変更を元に戻す必要がありますが、その後、他のすべての変更を再適用します。基本的にコミットの取り消し#4。どうやってやるの?
あなたは欲しい hg backout
以前の changeset ...の効果を元に戻す/元に戻す.
バックアウトは、バックアウトされるチェンジセットの反対のチェンジセットを適用することで機能します。その新しいチェンジセットは repository にコミットされ、最終的にマージされます...
MQ拡張機能を使用できます。
hg qinit
hg qimport -r 4:tip
hg qpop -a
hg qdelete 4.diff
hg qpush -a
hg qfinish -a
上記はあなたが歴史をどのように書き直すかであり、私が信じたいものです。
hg backout
を使用することもできますが、これにより作業ディレクトリでのコミットが取り消され、コミットできます。