1. ホーム
  2. mercurial

[解決済み] hg strip と hg backout と hg revert の比較

2023-08-09 09:13:49

質問

mercurialのコマンドの違いはなんですか?

  • hg strip
  • hg backout
  • hg revert

これらのコマンドはすべて、基本的に以前のチェンジセットの効果を元に戻す/元に戻すために使用されます。

どのように解決するのですか?

hg strip は、チェンジセットとそのすべての子孫をリポジトリから削除します。 あたかもその変更が存在しなかったかのようになります。 これを public チェンジセットに対してこれを使用すると、他のどのリポジトリからも削除されず、次回プルしたときに元に戻ってしまうので注意してください。

hg backout は、以前のチェンジセットの効果を逆転させるために、新しいチェンジセットを作成します。 古いチェンジセットはまだリポジトリに残りますが、その変更を削除するための新しいチェンジセットも残ります。

hg revert をリビジョンで指定すると、作業コピーを指定したリビジョンに更新します。 その後、その作業コピーをコミットすると、それ以降のすべての変更を元に戻す効果があります。

revert と backout の詳細については、他の回答も参照してください。