2

最新のリビジョンの上にリベースしたい 3 つの変更セットがありました。残念ながら、リベースするためにそれらの 1 つだけを選択したため、これはマージされました。リベースを元に戻すか変更して、他の 2 つの変更セットもリベースされるようにする方法はありますか?

4

2 に答える 2

6

他の人が取得できるように別のリポジトリにプッシュしていないと仮定すると、それらの変更セットをグラフの任意の場所に配置できます。hg rebaseで変更セットを移動 し、 hg stripで変更セットとその子孫を削除できます。

ストリップとリベースの両方で、「元に戻す」情報をバンドルファイルとして .hg/strip-backup/ に保存します。

Mercurial では、デフォルトではストリップもリベースも有効になっていないことに注意してください。.hgrc ファイルでそれらを有効にする必要があります。

于 2010-10-14T04:16:49.383 に答える
1

それが最後に行った場合は、1 レベルの取り消しである「hg ロールバック」を実行できます。ただし、リポジトリの状態 (プッシュ、プル、コミットなど) を変更してから何かを行った場合、ロールバックは役に立ちません。

なんらかの慰めになるとすれば、リベースよりもマージの方が一般的に好まれます。多くのマージを含む mercurial の履歴は、mercurial を最大限に使用している人を示しています。:)

于 2010-10-14T02:11:25.650 に答える