Mercurial のブランチとリモートヘッド 質問する

Mercurial のブランチとリモートヘッド 質問する

次のコマンドを使用して新しいブランチを作成しました:

hg branch new_branch

新しいブランチへの最初のコミット後、デフォルトのブランチは非アクティブになります。これがプッシュされると、中央リポジトリには新しいブランチに属するヘッドが 1 つだけ存在することになります。

同僚がコミットをデフォルト ブランチにプッシュすると、次のエラーが発生します。

pushing to ssh://...
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)

強制的にプッシュすることに何か悪い点はありますか? リモート ヘッドが悪いのはなぜですか?

別々のブランチでリモート作業し、 1 つのリポジトリにプッシュするにはどうすればよいですか?

ベストアンサー1

リモート ヘッドは、基本的にマージの作業を別の人に押し付けることになるため、好ましくありません。このメッセージは、誤ってリモート ヘッドを導入するのを防ぎ、プッシュする前にまずマージするように指示するためのものです。

ただし、この場合は名前付きブランチを作成しているため、意図的に新しいヘッドを導入して共有しており、警告は情報として無視できます。hg push --new-branch強制するには を使用します (または-fバージョン 1.6 より前)。

おすすめ記事