Visual Studio でバージョン コントロールに Git のフェッチ、プル、プッシュ、同期を使用する
Visual Studio を使用すると、ダウンロード (フェッチとプル) およびアップロード (プッシュ) の操作によって、ローカル ブランチをリモート ブランチと同期された状態に保つことができます。
Visual Studio 2022 で [Git] メニューを使用し、フェッチ、プル、および同期を行うことができます。
前のスクリーンショットでは [フェッチ] オプションが強調表示されています。 [Git] メニューには、次の追加オプションもあります。
- プル
- Push
- 同期 (プル後にプッシュ)
これらの操作は、[Git 変更] ウィンドウのボタン コントロールを使用して実行することもできます。
ボタン コントロールは、左から右に [フェッチ]、[プル]、[プッシュ] および [同期] です。
さらに、追加の操作用に省略記号 (...) ボタン コントロールもあります。 これを選択すると、コンテキスト メニューが表示されます。 これは、フェッチ、プル、プッシュ、同期の操作を微調整するために使用できます。
フェッチ
プッシュする前にフェッチしてプルすることが重要です。 フェッチでは、ローカルの変更に組み込む必要があるリモート コミットがあるかどうかが確認されます。 あることが確認された場合は、最初にプルしてアップストリーム マージの競合を防ぎます。
ブランチをフェッチすると、[Git Changes]\(Git 変更\) ウィンドウのブランチ ドロップダウンの下にインジケーターが表示され、リモート ブランチからプルされていないコミットの数が表示されます。 このインジケーターには、プッシュされていないローカル コミットの数も表示されます。
このインジケーターは、[Git リポジトリ] ウィンドウでそのブランチのコミット履歴に移動するためのリンクとしても機能します。 履歴の一番上には、これらの送信および発信中のコミットの詳細が表示されます。 ここから、コミットをプルまたはプッシュすることもできます。
プル
プッシュの前には、必ずプルを実行してください。 最初にプルをした場合、上流でのマージの競合を防ぐことができます。
プッシュ
コミットを作成すると、コードのスナップショットがローカルに保存されます。 このコミットを GitHub にプッシュするには、プッシュを使用します。これらはバックアップとして保存したり、他のユーザーと共有したりできます。
ただし、前に説明したように、プッシュの前には必ずプルを実行します。 Visual Studio では予防策として、ユーザーのローカル ブランチがリモート ブランチの背後にある場合、コミットのプッシュは許可されていません。 プッシュしようとすると、プッシュの前にプルすることを求めるダイアログが表示されます。
Sync
この操作を使用すると、まずプルしてから次にプッシュと、連続して行うことができます。