次のコマンドを使用して新しいブランチを作成しました:
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 より前)。