0

ブランチに変更があり、失敗したマージの後、失敗したマージを元に戻そうとしましたhg up -cが、代わりに新しいブランチが作成されました。私はそれを現在のものにマージするか、それを破棄することができますか、それともどうすればよいですか?

編集: 実際には次のことを行いました。ブランチがあり、そこに変更をコミットしました。次に、変更をサーバーにプッシュしたかったので、変更をプルしてそれらとマージしようとしましたが、自分で解決できない競合があり、考えました:すべての変更を元に戻して再度マージします-使用済みhg up -C未完成のマージ中に変更したすべてを元に戻すと思いました。しかし、実際に起こったことは、同じ名前の別のブランチが作成され、以前にコミットした変更のみが含まれ、作業していたブランチと同じ名前で、作業していたブランチに切り替えられました。私の変更。ここで 2 つの質問があります: 実際に何が起こったのか、なぜ同じ名前の別のブランチが作成されたのか?

4

1 に答える 1

1

同じブランチに複数のヘッドを持つことは、「現在と同じ名前のブランチ」と言っていると思いますが、通常の状況であり、はい、hg mergeそれらを 1 つのヘッドに統合するために使用できます。コマンドを使用してhg heads、ブランチ X の 2 つのヘッドのハッシュを見つけます。次に、次のようにします。

hg update REVISION_ID_OF_ONE_HEAD   # changes your working directory to match one of the heads
hg merge  REVISION_ID_OF_THE_OTHER_HEAD   # merges that head's changes in
hg commit      # create a new changeset that is the child of both those heads thus reducing the head count by one

また、ブランチを作成しない @ringding は正しいですhg update。あなたはすでにそれらを持っていて知らなかったか、引っ張ったときに別の頭を受け取ったかのどちらかです.

于 2013-09-12T13:33:06.317 に答える