リモート Git リポジトリの使用

完了

ローカル Git リポジトリとリモート リポジトリの間にリモート コマンド経由または clone コマンドを使用してリンクを作成した後は、同期が自動的に行われません。 push コマンドと pull コマンドを使用して、リモート リポジトリからデータを取得して送信します。

ベスト プラクティスとしては、最初に pull コマンドを実行してから、push コマンドを実行します。

git pull <remote-name> <branch-name>

ファイルが他の共同作成者によって変更された場合、マージの競合が発生する可能性があります。 リモート リポジトリにプッシュする前に、ローカル リポジトリでこれらの競合を解決してください。 競合を解決すると、ローカル リポジトリに新しいコミットが発生します。 pull コマンドによって、新しいファイルと変更されたすべてのファイルがローカル リポジトリにダウンロードされます。 これは、現在使用中の分岐に対してのみ実行されます。 その後、push コマンドを実行することができます。

git push <remote-name> <branch-name>

Visual Studio Code では、SCM コマンド メニューに pull コマンドと push コマンドが表示されます。 3 つのドットをクリックしてメニューを開きます。 sync コマンドを使用して、最初に pull コマンドを実行し、競合が発生していない場合は、自動的に push コマンドを実行することもできます。

プッシュ、プル、および同期のオプションのある SCM コマンド メニューのスクリーンショット。

Visual Studio Code ウィンドウの左下の、分岐名の横にある同期アイコンをクリックすることもできます。

Visual Studio Code ウィンドウの同期アイコンのスクリーンショット。

ローカル コミットを実行するたびに、Visual Studio Code ではリモート リポジトリの前にあるコミットの数が表示されます。 ただし、他のユーザーがリモート リポジトリに対して新しいコミットをいくつか追加した可能性があります。 これは、リモート リポジトリの後にあり、push コマンドを実行する前に pull コマンドを実行する必要があることを意味します。

ステータスは、ウィンドウの左下隅で確認できます。 次の例では、ローカル リポジトリはリモート リポジトリよりも前に 1 つコミットします。 1 つのコミットがプッシュされることを確認できます。

1 つのコミットがプッシュされることを示す同期ステータス警告のスクリーンショット。

新しいコミットが待機しているかどうかを確認するには、fetch コマンドを使用します。 fetch コマンドは、リポジトリに構造的な変更があったかどうかをリモート リポジトリに照会します。 新しい分岐が作成されていますか。 新しいコミットはプッシュされていますか。 分岐については別のモジュールで説明しますが、リモート リポジトリに分岐を作成する場合は、最初に fetch コマンドを実行して、ローカル リポジトリが新しい分岐が作成されたことを検出する必要があります。

git fetch

Visual Studio Code では、表示コマンド パレット (Ctrl+Shift+P) を選択して、fetch コマンドを検索する必要があります。 Fetch (Prune) コマンドでは、リモート リポジトリでローカル エントリが削除されると、リモート分岐からローカル エントリが削除されます。

Visual Studio Code の Git fetch コマンドのスクリーンショット。

Visual Studio Code は、自動フェッチのオプションをサポートしています。 この設定により、fetch コマンドが自動的に秒数ごとに実行されます。 これにより、Visual Studio Code では、リモート リポジトリに受信コミットがある場合は、自動的に表示されます。 この設定は、ファイル基本設定設定 (Ctrl + ,) を使用して有効または無効にできます。 設定の一覧で、自動フェッチを検索すると、変更できる 2 つの設定が表示されます。 1 つの設定で自動フェッチ設定を有効または無効にし、もう 1 つの設定で期間を設定します。

Visual Studio Code の自動フェッチ設定のスクリーンショット。

リモート Git リポジトリの使用

リモート Git リポジトリの使用方法については、次のビデオのデモをご覧ください。