5

プルしたいくつかの変更をローカル マシンにリベースしようとしています。エラーが発生します:

abort: can't rebase immutable changeset 110e73ed65a4
(see hg help phases for details)

そして、リベースしている変更セットのフェーズを変更した後でも同じエラーが発生します (フェーズの変更は成功したようです)。使用:

hg phase -f -d REV

履歴に行方不明でまだ不変の変更セットがあるかどうか疑問に思っています。もしそうなら、変更セットの履歴のすべての変更セットを単一のコマンドで変更可能に変更できる方法があるかどうか疑問に思っています。

または、不変の変更セットであっても、リベースを強制する方法はありますか?

4

1 に答える 1

6

公開されている変更をリベースすることは、非常に悪い考えです。プッシュされた履歴は変更しないでください。フェーズの要点は、まだプッシュされていない変更 (変更できるようにするため) と、プッシュされた変更 (変更できないようにするため) を追跡することです。 )。リベースのドキュメントから:

すでに他のユーザーと共有されている変更セットをリベースしないでください。そうすることで、他のすべての人が同じリベースを実行することを余儀なくされるか、リベースされたチェンジセットをプルした後、複製されたチェンジセットになってしまいます。

変更をマージするか、それらを移植することをお勧めします。グラフト (チェリー ピッキングとも呼ばれます) は、1 つまたは複数の変更セットを取得し、それらを現在のブランチにコピーします。

于 2012-12-30T06:07:10.097 に答える