Visual Studio は、ダウンロード (フェッチとプル) 操作とアップロード (プッシュ) 操作を通じて、ローカル ブランチをリモート ブランチと同期し続けるのに役立ちます。
Visual Studio 2022 以降では、 Git メニューを使用してフェッチ、プル、同期を行うことができます。
前のスクリーンショットでは、[ フェッチ ] オプションが強調表示されています。 Git メニューには、次の追加オプションも含まれています。
- プル
- プッシュ
- 同期 (プルしてからプッシュ)
また、[ Git の変更 ] ウィンドウのボタン コントロールを使用して、これらの操作を実行することもできます。
左から右のボタン コントロールには、 Fetch、 Pull、 Push、 Sync が含まれます。
さらに、さらに多くの操作を行う 省略記号 (...) ボタン コントロールもあります。 選択すると、コンテキスト メニューが表示されます。 これを使用して、フェッチ、プル、プッシュ、同期の操作を微調整できます。
フェッチ
プッシュする前にフェッチしてプルするのが重要です。 フェッチでは、ローカルの変更に組み込む必要があるリモート コミットがあるかどうかを確認します。 アップストリームでのマージ競合を防ぐために、存在する場合はまずプルしてください。
ブランチをフェッチすると、 Git Changes ウィンドウのブランチドロップダウンの下にインジケータが表示され、リモートブランチからプルされていないコミットの数が表示されます。 このインジケータは、プッシュされていないローカルコミットの数も示します。
このインジケーターは、 Git リポジトリ ウィンドウでそのブランチのコミット履歴に移動するためのリンクとしても機能します。 履歴の上部に、これらの受信コミットと送信コミットの詳細が表示されるようになりました。 ここから、コミットのプルまたはプッシュを選択することもできます。
プル
プッシュする前に、必ずプルするべきです。 最初にプルすると、アップストリーム マージの競合を防ぐことができます。
プッシュ
コミットを作成すると、コードのローカル スナップショットが本質的に保存されます。 Push を使用してコミットを GitHub にプッシュします。ここで、コミットをバックアップとして格納したり、コードを他のユーザーと共有したりできます。
ただし、前述のように、プッシュする前に必ずプルします。 安全対策として、ローカルブランチがリモートブランチに遅れている場合、Visual Studioではコミットをプッシュすることができません。 プッシュしようとすると、プッシュする前にプルするように求めるダイアログが表示されます。
同期
この操作を使用して、連続してプルしてからプッシュします。