特定の Mercurial クローンから特定の変更セットを削除するにはどうすればいいですか? 質問する

特定の Mercurial クローンから特定の変更セットを削除するにはどうすればいいですか? 質問する

中央リポジトリのクローンをリビジョン 2048 で持っています。2 週間前に戻ったかのように、ローカル リポジトリの最後の 10 個の変更セットを削除したいと思います。ローカル リポジトリを削除して実行できると思います"hg clone -rev 2038"が、それには時間がかかります (リポジトリのクローン作成には数分かかります)。一部の変更セットを単に「プル解除」する方法はありますか?

ノート:

  • 変更セットをバックアウトしようとしているわけではありません。最終的には、中央リポジトリからそれらの変更セットを再度取得します。
  • 作業ディレクトリを以前のバージョンに更新しようとしているのではなく、リポジトリに影響を与えたいのです。
  • 現在のリポジトリと作業ディレクトリには、送信される変更セットや保留中の変更はありません。

ベストアンサー1

strip コマンドを使用します。

hg strip -r 2039

このコマンドは、ストリップ拡張これは Mercurial 2.8 以降の一部として配布されますが、まず .hgrc または Mercurial.ini に次の行を追加して有効にする必要があります。

[extensions]
strip =

Mercurial 2.8以前は、Mq拡張機能

誤って履歴を破壊しないように、コマンドは必要に応じて再度.hg/strip-backup/実行できるバックアップ バンドルを生成します。hg unbundle

おすすめ記事