PyCharm 2024.1 ヘルプ

変更を Mercurial アップストリームにプッシュする (プッシュ)

  1. VCS | Mercurial | プッシュに移動します。

    コミットのプッシュダイアログが開き、すべての Mercurial リポジトリ(マルチリポジトリプロジェクトの場合)が表示され、最後のプッシュ以降に各リポジトリの現在のブランチで行われたすべてのコミットが一覧表示されます。

    同期的に制御されていない複数のリポジトリを使用するプロジェクトがある場合、デフォルトでは現在のリポジトリのみが選択されます。同期リポジトリ制御の有効化の詳細については、「バージョン管理設定: Mercurial」を参照してください。

  2. 必要に応じて、リモートリポジトリへのパスをクリックして変更することができます。ラベルがテキストフィールドに変わり、そこで新しいパスを入力するか、Ctrl+Space を押して補完を呼び出すことができます。

    リポジトリにリモートがない場合は、リモートの定義リンクが表示されます。このリンクをクリックして、表示されるダイアログでリモートの名前と URL を指定します。

  3. 変更をプッシュする前にプレビューしたい場合は、必要なコミットを選択してください。右側のペインには、選択したコミットに含まれている変更が表示されます。ツールバーのボタンを使ってコミットの詳細を調べることができます。

  4. コミットでアクティブなブックマークをプッシュしたい場合(デフォルトではリモートリポジトリには送信されません)、アクティブなブックマークのエクスポートオプションを選択します。

  5. 準備ができたらプッシュボタンをクリックして、実行する操作をドロップダウンメニューから選択してください: push または push --force

強制プッシュ

push を実行すると、リモートリポジトリに欠落している変更があり、リポジトリのローカルコピーで上書きする場合、Mercurial は操作の補完を拒否します。通常は、リモートを変更して更新する前にリモートと同期するために pull を実行する必要があります。

--force push コマンドはこのチェックを無効にし、リモートリポジトリを上書きすることでその履歴を消去し、データを失うことを可能にします。

--force push を実行する必要がある場合は、プッシュされたブランチをリベースしてからリモートサーバーにプッシュしたい場合があります。この場合、プッシュしようとすると、リモートのリファレンスがローカルリファレンスの祖先ではないため、Mercurial は変更を拒否します。このような状況で pull を実行すると、2 つのブランチのコピーが作成され、次にブランチをマージする必要があります。

強制的にリベースされたブランチをプッシュすることを決心し、チームで働いているなら、それを確認してください:

  • 誰もあなたのブランチをプルしていないし、それにいくつかのローカルな変更をしていない

  • 保留中の変更はすべてコミットされプッシュされました

  • そのブランチに対する最新の変更があります