49

私は Mercurial を理解しようとしていますが、ここで混乱していることを願っています!

私は自分のマシン上にクローン ('clone') したリポジトリ ('main') を持っています。両者は完全にシンクロしていた。

名前付きブランチで遊ぶことにしたので、次回「クローン」でコミットしたときに「case1212」というブランチ名でコミットしましたが、クローンでコミットを適切に処理したように見えますが、これらの変更を元に戻すことはできません「メイン」に。与えられたエラーは次のとおりです。

abort: push creates new remote branch 'case1212'!

...そして、最初にマージする必要があるかもしれないことを示唆していますか? その「クローン」リポジトリに何をマージすればよいですか? 「メイン」からプルしようとすると、変更はありません。

「メイン」リポジトリにリモートブランチを作成して、そこから更新する人がそのブランチを見ることができるようにすることを実際に望んでいると確信しています。

4

3 に答える 3

50

Mercurial のデフォルトの動作では、リモート ブランチを作成できません。これを行いたい場合は、強制的に押す必要があります。

表示されたウィンドウの同期メニューには、強制プッシュのオプションがあります。

于 2010-03-02T18:14:21.353 に答える
24

Push new branchTortoiseには、より安全なオプションが追加されましたForce pull or push。コマンドラインツールにはフラグ--new-branchがあります。

更新:新しい亀のインターフェースでは、見つけるのが少し難しくなります。[同期]ビューに切り替え、[オプション]をクリックして、[新しいブランチのプッシュを許可する]を選択します。

于 2011-01-12T22:22:41.840 に答える
19

プッシュによって新しいリモート ヘッド (この場合はブランチ) が作成されることを警告しています。あなたがそれでよろしければ、そしてそう思われるなら、 で押すことができますpush -f

このチェックはそこにあるので、その case1212 ブランチがメイン サーバーに戻らないようにしhg push -r defaultたい場合は、この警告が表示されず、case1212 が送信されないようにすることができます。

case1212 に対してこれを行うと、case1212 が既に存在するため、再度警告が表示されることはありません。

新しいバージョンの mercurial では、新しいヘッドが新しいブランチである場合に、その警告が少し怖くなくなります。

于 2010-03-02T18:12:55.233 に答える