0

デフォルトの(唯一の)ブランチからリポジトリをクローンしました。多くのコミットで多くの作業を行いました。最終的に、現在の変更を別の開発ストリームとしてリポジトリにプッシュしたいと思いました。そこで、hg ブランチ 8-2- を実行しました。現在リポジトリにあるものをプルしました (まだデフォルト ブランチのみ)。私のものへの変更をマージしました。ここで、hg push --new-branch を実行しようとすると、まだ複数のヘッドの警告が表示されます。

中止: プッシュは新しいリモート ヘッド 57550f12d0f6 を作成します! (マージするのを忘れましたか? push -f を使用して強制します)

hg ヘッドを実行しました:

変更セット: 132:8ab701e45e38 ブランチ: 8-2- タグ: ヒント 親: 131:3f2c30e8396d 親: 129:a45e28d1ef1b ユーザー:
Vance Neff 日付: 月 8 月 6 日 14:55:14 2012 -0400 要約: 予期しないヘッドをマージ

changeset: 129:a45e28d1ef1b user: Vance Neff date: Thu Aug 02 14:15:08 2012 -0400 summary: changeset 7d88ac157486 にタグ 8-1-29 を追加

changeset: 113:57550f12d0f6 user: Vance Neff date: Thu Aug 02 18:29:32 2012 -0400 summary: changeset 4ab1691d7120 にタグ 8-2-29 を追加

問題のあるヘッドは、hg ブランチ 8-2-、チェンジセット 113 を実行する直前の最後のコミットであることがわかります。

これを解決するにはどうすればよいですか? 注: ここで名前付き分岐の使用に関するすべての警告を読みました。遅すぎる。

ありがとうヴァンス

4

1 に答える 1

1

defaultあなたがそこで何をしたか、そしてあなたのリポジトリの現在の状態を正確に見ることはできませんが、2 つの変更セットを一緒にマージする必要があるようです。

hg update 129
hg merge 113
hg commit -m "merge"

その後、default再び頭を 1 つだけ持つだけで、すべてがうまくいきます。

または、コマンドを使用して、strip失敗した (プッシュされていない) 変更をすべて削除することもできます。その後、それらをやり直すことができます。hg outgoing公開されている変更セットを削除しないように、に表示されている変更セットのみを削除するようにしてください。

ヒント: 実行しようとしているコマンドに確信が持てないときは、通常、実行する前にリポジトリのクローンまたはコピーを作成して、いつでも簡単に元の状態に戻せるようにします。DVCS の恩恵の 1 つ :)。

于 2012-08-07T09:34:53.530 に答える