Skip to main content

Codespace でソースコントロールを使用する

Codespace 内のファイル���変更を加えた後、変更をすばやくコミットして、更新をリモートリポジトリにプッシュできます。

GitHub Codespaces でのソース管理について

必要なすべての Git アクションを codespace 内で直接実行できます。 たとえば、リモート リポジトリからの変更のフェッチ、ブランチの切り替え、新しいブランチの作成、変更のコミットとプッシュ、pull request の作成を行うことができます。 Codespace 内の統合ターミナルを使用して Git コマンドを入力するか、アイコンとメニューオプションをクリックして最も一般的な Git タスクをすべて完了することができます。 このガイドでは、ソースコントロールにグラフィカルユーザインターフェースを使用する方法について説明します。

Visual Studio Code での Git のサポートについて詳しくは、Visual Studio Code のドキュメントのVS Code でのバージョン管理の使用に関する記事をご覧ください。

Visual Studio Code Web クライアントのソース管理では、Visual Studio Code デスクトップ アプリケーションと同じワークフローが使用されます。 詳しくは、Visual Studio Code のドキュメントのVS Code でのバージョン管理の使用に関する記事をご覧ください。

GitHub Codespaces を使用してファイルを更新するための一般的なワークフローは次のとおりです。

  • GitHub のリポジトリのデフォルトブランチから、codespace を作成します。 「リポジトリの codespace を作成する」をご覧ください。
  • Codespace で、作業する新しいブランチを作成します。
  • 変更を加えて保存します。
  • 変更をコミットします。
  • プルリクエストを発行します。

メモ

既定では、GitHub Codespaces は HTTPS プロトコルを使用してリモート リポジトリとの間でデータを転送し、codespace の作成元のリポジトリへの読み取りおよび書き込みアクセス権限を含む GITHUB_TOKEN 構成を使用して認証します。 認証に問題がある場合は、「リポジトリに対する認証のトラブルシューティング」をご覧ください。

自動フォークについて

読み取りアクセス権しか持っていないリポジトリの codespace を作成するには、リポジトリをフォークするアクセス許���が必要です。

codespace を作成する前にリポジトリをフォークする必要はありません。 たとえば、リポジトリから codespace を作成してプロジェクトを確認し、試験的な変更を行い、必要なくなった場合は codespace を削除できます。

codespace からコミットするか、新しいブランチをプッシュすると、GitHub Codespaces は、アカウントの下にリポジトリのフォークを作成して codespace にリンクするか、リポジトリ用のフォークが既にある場合は codespace を既存のフォークにリンクします。 その後、フォークに変更をプッシュし、pull request を作成して、アップストリーム リポジトリへの変更を提案できます。

コマンド ラインからコミットすると、codespace を新規または既存のフォークにリンクするかどうかを確認するプロンプトが表示されます。 「y」と入力して続けます。 VS Code の [ソース管理] ビューから変更をコミットすると、プロンプトが表示されることなく、自動的に codespace がフォークにリンクされます。

メモ

  • フォーク リポジトリを削除すると、フォークにリンクされている codespace は、最初にアップストリーム リポジトリから作成した場合でも削除されます。
  • コマンド ラインからコミットするか、「n」と入力して新しいフォークを拒否する場合、VS Code のソース管理ビューからではなく、コマンド ラインから変更をプッシュしてください。 ソース管理ビューを使う場合でも、VS Code では、プッシュ時、フォークの自動作成が試行されます。

GitHub Codespaces によってフォークが作成されるか、codespace が既存のフォークにリンクされると、次のことが発生します。

  • codespace に関連付けられているアクセス トークンは、アップストリーム リポジトリへの read アクセス許可に加えて、フォークに対する read および write アクセス許可が含まれるように更新されます。
  • Git 設定では、アップストリーム リポジトリは upstream という名前に再割り当てされ、フォークは origin という名前の下に新しいリモート リポジトリとして追加されます。

既定では、VS Code の [変更の同期] ボタンなど、エディターのユーザー インターフェイスからアクセスするソース管理コマンドはフォークがターゲットになります。 コマンド ラインから作業している場合は、origin を使用してフォークを参照し、upstream を使用してアップストリーム リポジトリを参照できます。 たとえば、アップストリーム リポジトリから変更をフェッチして、プロジェクトに対する最新の変更を使用して codespace が最新になるようにできます。

git fetch upstream

いくつかの変更を行ったら、フォークの機能ブランチにプッシュできます。

git push origin my-feature-branch

詳しくは、「フォークについて」をご覧ください。

テンプレートから作成された codespace の発行

テンプレート リポジトリまたは "あなたの codespaces" ページのテンプレートから codespace を作成する場合、codespace を発行するまで、GitHub のリポジトリに作業は格納されません。 詳しくは、「テンプレートから codespace を作成する」をご覧ください。

codespace で作業している場合は、VS Code Web クライアントまたはデスクトップ アプリケーションから発行できます。

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。

    [ソース管理] ボタンがオレンジ色の枠線で強調されている VS Code アクティビティ バーのスクリーンショット。

  2. 変更をステージするには、追加または変更したファイルの横の [+] をクリックします。複数のファイルを変更してすべてをステージする場合は、[Changes] の横のものをクリックします。

    [ソース管理] サイド バーのスクリーンショット。[変更] の右側にあるステージング ボタン (プラス記号) が濃いオレンジ色の枠線で強調表示されています。

    メモ

    GitHub の空のテンプレートから開始した場合、ディレクトリを Git リポジトリとして既に初期化していない限り、変更の一覧は表示されません。 空のテンプレートから作成された codespace を発行するには、[ソース管理] ビューで [GitHub に発行] をクリックし、手順 5 に進みます。

  3. ステージングされた変更をコミットするには、行った変更を説明するコミット メッセージを入力し、 [コミット] をクリックします。

    [ソース管理] サイド バーのスクリーンショット。コミット メッセージと、その下の [コミット] ボタンの両方が、濃いオレンジ色の枠線で強調表示されています。

  4. [ブランチを公開する] をクリックします。

    [ブランチを公開する] ボタンが表示されている [ソース管理] サイド バーのスクリーンショット。

  5. [リポジトリ名] ドロップダウンで、新しいリポジトリの名前を入力し、 [GitHub プライベート リポジトリに発行] または [GitHub パブリック リポジトリに発行] を選びます。

    VS Code でのリポジトリ名ドロップダウンのスクリーンショット。 プライベートまたはパブリック リポジトリに発行するための 2 つのオプションが示されています。

    新しいリポジトリの所有者は、codespace を作成した GitHub アカウントになります。

  6. 必要に応じて、エディターの右下隅に表示されるポップアップで、 [GitHub で開く] をクリックして、GitHub の新しいリポジトリを表示します。

    [GitHub で開く] ボタンが示されている、正常に発行されたリポジトリの確認メッセージのスクリーンショット。

ブランチの作成または切り替え

  1. 現在のブランチがステータス バーに表示されていない場合は、codespace の下部でステータス バーを右クリックし、 [ソース コントロール] を選択します。

  2. ステータスバーでブランチ名をクリックします。

    VS Code のステータス バーに表示されているブランチ名のスクリーンショット。

  3. ドロップダウンで、切り替えるブランチをクリックするか、新しいブランチ名を入力して [新しいブランチの作成] をクリックします。

    VS Code で新しいブランチを作成するためのドロップダウンのスクリーンショット。

ヒント

他のユーザーが最近リモート リポジトリのファイルを変更した場合、切り替え後のブランチでは、その変更を自分の codespace にプルするまで、それらの変更内容が表示されない場合があります。

変更をコミットする

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。

    [ソース管理] ボタンがオレンジ色の枠線で強調されている VS Code アクティビティ バーのスクリーンショット。

  2. 変更をステージ���グするには、変更したファイルの横の [] をクリックします。複数のファイルを変更してすべてをステージングする場合は、 [変更] の横のものをクリックします。

    [ソース管理] サイド バーのスクリーンショット。[変更] の右側にあるステージング ボタン (プラス記号) が濃いオレンジ色の枠線で強調表示されています。

  3. テキスト ボックスに、行った変更について説明するコミット メッセージを入力します。

    [ソース管理] サイド バーのスクリーンショット。[コミット] ボタンの上にあるテキスト ボックスにコミット メッセージが入力されています。

  4. [コミット] ボタンの右側にある下矢印をクリックし、ドロップダウン メニューから [コミットしてプッシュ] を選びます。

    [コミット] ボタンのドロップダウンのスクリーンショット。 オプション [コミットしてプッシュ] が濃いオレンジ色の枠線で強調表示されています。

リモートリポジトリから変更をプルする

リモートリポジトリからいつでも codespace に変更をプルできます。

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。

    [ソース管理] ボタンがオレンジ色の枠線で強調されている VS Code アクティビティ バーのスクリーンショット。

  2. サイド バーの上部にある [] をクリックします。

    [ソース管理] サイド バーのスクリーンショット。 省略記号ボタン (3 つのドット) が濃いオレンジ色の枠線で強調表示されています。

  3. ドロップダウン メニューの [プル] をクリックします。

codespace の作成後に開発コンテナー構成が変更された場合は、codespace のコンテナーを再構築することで変更を適用できます。 詳しくは、「開発コンテナーの概要」をご覧ください。

新しい変更を自動的にフェッチするように codespace を設定する

リモートリポジトリに対して行われた新しいコミットの詳細を自動的にフェッチするように codespace を設定できます。 これにより、リポジトリのローカルコピーが古くなっているかどうかを確認できます。古くなっている場合は、新しい変更をプルすることができます。

フェッチ操作でリモートリポジトリの新しい変更が検出されると、ステータスバーに新しいコミットの数が表示されます。 その後、変更をローカルコピーにプルできます。

  1. アクティビティ バーの下部にある [管理] ボタンをクリックします。

    [アクティビティ] バーの下部のスクリーンショット。 [管理] ボタン (歯車記号が付いています) が濃いオレンジ色の枠線で強調表示されています。

  2. メニューで、[設定] をクリックします。

  3. [設定] ページで、次を検索します: autofetch

    [設定] タブのスクリーンショット。検索テキスト「autofetch」が濃いオレンジ色の枠線で強調表示されています。

  4. 現在のリポジトリに登録されているすべてのリモートの更新の詳細をフェッチするには、Git: Autofetchall に設定します。

    [Git: 自動フェッチ] 設定のスクリーンショット。[すべて] に設定されています。

  5. 各自動フェッチ間の秒数を変更する場合は、Git: Autofetch Period の値を編集します。

プルリクエストを発行する

  1. 変更をリポジトリのローカル コピーにコミットしたら、[ソース管理] サイド バーの上部にある pull request アイコンをクリックします。

    [ソース管理] サイド バーの上部のスクリーンショット。 pull request アイコンが濃いオレンジ色の枠線で強調表示されています。

  2. マージ元のローカルブランチとリポジトリ、およびマージ先のリモートブランチとリポジトリが正しいことを確認します。 そして、プルリクエストにタイトルと説明を付けます。

    [GitHub pull request] サイド バーと pull request を作成するフォームのスクリーンショット。[タイトル] と [説明] のフィールドが表示されています。

  3. [作成] をクリックします。

リモートリポジトリに変更をプッシュする

保存してコミットした変更をプッシュできます。 それにより、変更がリモートリポジトリの上流ブランチに適用されます。 プルリクエストの作成準備が整っていない場合、または GitHub でプルリクエストを作成する場合は、この操作を行うことをお勧めします。

  1. サイド バーの上部にある [] をクリックします。

    [ソース管理] サイド バーのスクリーンショット。 省略記号ボタン (3 つのドット) が濃いオレンジ色の枠線で強調表示されています。

  2. ドロップダウン メニューの [プッシュ] をクリックします。

テンプレートから作成された codespace の発行

テンプレート リポジトリまたは "あなたの codespaces" ページのテンプレートから codespace を作成する場合、codespace を発行するまで、GitHub のリポジトリに作業は格納されません。 詳しくは、「テンプレートから codespace を作成する」をご覧ください。

codespace で作業している場合は、VS Code Web クライアントまたはデスクトップ アプリケーションから発行できます。

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。

    [ソース管理] ボタンがオレンジ色の枠線で強調されている VS Code アクティビティ バーのスクリーンショット。

  2. 変更をステージするには、追加または変更したファイルの横の [+] をクリックします。複数のファイルを変更してすべてをステージする場合は、[Changes] の横のものをクリックします。

    [ソース管理] サイド バーのスクリーンショット。[変更] の右側にあるステージング ボタン (プラス記号) が濃いオレンジ色の枠線で強調表示されています。

    メモ

    GitHub の空のテンプレートから開始した場合、ディレクトリを Git リポジトリとして既に初期化していない限り、変更の一覧は表示されません。 空のテンプレートから作成された codespace を発行するには、[ソース管理] ビューで [GitHub に発行] をクリックし、手順 5 に進みます。

  3. ステージングされた変更をコミットするには、行った変更を説明するコミット メッセージを入力し、 [コミット] をクリックします。

    [ソース管理] サイド バーのスクリーンショット。コミット メッセージと、その下の [コミット] ボタンの両方が、濃いオレンジ色の枠線で強調表示されています。

  4. [ブランチを公開する] をクリックします。

    [ブランチを公開する] ボタンが表示されている [ソース管理] サイド バーのスクリーンショット。

  5. [リポジトリ名] ドロップダウンで、新しいリポジトリの名前を入力し、 [GitHub プライベート リポジトリに発行] または [GitHub パブリック リポジトリに発行] を選びます。

    VS Code でのリポジトリ名ドロップダウンのスクリーンショット。 プライベートまたはパブリック リポジトリに発行するための 2 つのオプションが示されています。

    新しいリポジトリの所有者は、codespace を作成した GitHub アカウントになります。

  6. 必要に応じて、エディターの右下隅に表示されるポップアップで、 [GitHub で開く] をクリックして、GitHub の新しいリポジトリを表示します。

    [GitHub で開く] ボタンが示されている、正常に発行されたリポジトリの確認メッセージのスクリーンショット。

ブランチの作成または切り替え

  1. 現在のブランチがステータス バーに表示されていない場合は、codespace の下部でステータス バーを右クリックし、 [ソース コントロール] を選択します。

  2. ステータスバーでブランチ名をクリックします。

    VS Code のステータス バーに表示されているブランチ名のスクリーンショット。

  3. ドロップダウンで、切り替えるブランチをクリックするか、新しいブランチ名を入力して [新しいブランチの作成] をクリックします。

    VS Code で新しいブランチを作成するためのドロップダウンのスクリーンショット。

ヒント

他のユーザーが最近リモート リポジトリのファイルを変更した場合、切り替え後のブランチでは、その変更を自分の codespace にプルするまで、それらの変更内容が表示されない場合があります。

変更をコミットする

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。

    [ソース管理] ボタンがオレンジ色の枠線で強調されている VS Code アクティビティ バーのスクリーンショット。

  2. 変更をステージングするには、変更したファイルの横の [] をクリックします。複数のファイルを変更してすべてをステージングする場合は、 [変更] の横のものをクリックします。

    [ソース管理] サイド バーのスクリーンショット。[変更] の右側にあるステージング ボタン (プラス記号) が濃いオレンジ色の枠線で強調表示されています。

  3. テキスト ボックスに、行った変更について説明するコミット メッセージを入力します。

    [ソース管理] サイド バーのスクリーンショット。[コミット] ボタンの上にあるテキスト ボックスにコミット メッセージが入力されています。

  4. [コミット] ボタンの右側にある下矢印をクリックし、ドロップダウン メニューから [コミットしてプッシュ] を選びます。

    [コミット] ボタンのドロップダウンのスクリーンショット。 オプション [コミットしてプッシュ] が濃いオレンジ色の枠線で強調表示されています。

リモートリポジトリから変更をプルする

リモートリポジトリからいつでも codespace に変更をプルできます。

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。

    [ソース管理] ボタンがオレンジ色の枠線で強調されている VS Code アクティビティ バーのスクリーンショット。

  2. サイド バーの上部にある [] をクリックします。

    [ソース管理] サイド バーのスクリーンショット。 省略記号ボタン (3 つのドット) が濃いオレンジ色の枠線で強調表示されています。

  3. ドロップダウン メニューの [プル] をクリックします。

codespace の作成後に開発コンテナー構成が変更された場合は、codespace のコンテナーを再構築することで変更を適用できます。 詳しくは、「開発コンテナーの概要」をご覧ください。

新しい変更を自動的にフェッチするように codespace を設定する

リモートリポジトリに対して行われた新しいコミットの詳細を自動的にフェッチするように codespace を設定できます。 これにより、リポジトリのローカルコピーが古くなっているかどうかを確認できます。古くなっている場合は、新しい変更をプルすることができます。

フェッチ操作でリモートリポジトリの新しい変更が検出されると、ステータスバーに新しいコミットの数が表示されます。 その後、変更をローカルコピーにプルできます。

  1. アクティビティ バーの下部にある [管理] ボタンをクリックします。

    [アクティビティ] バーの下部のスクリーンショット。 [管理] ボタン (歯車記号が付いています) が濃いオレンジ色の枠線で強調表示されています。

  2. メニューで、[設定] をクリックします。

  3. [設定] ページで、次を検索します: autofetch

    [設定] タブのスクリーンショット。検索テキスト「autofetch」が濃いオレンジ色の枠線で強調表示されています。

  4. 現在のリポジトリに登録されているすべてのリモートの更新の詳細をフェッチするには、Git: Autofetchall に設定します。

    [Git: 自動フェッチ] 設定のスクリーンショット。[すべて] に設定されています。

  5. 各自動フェッチ間の秒数を変更する場合は、Git: Autofetch Period の値を編集します。

プルリクエストを発行する

  1. 変更をリポジトリのローカル コピーにコミットしたら、[ソース管理] サイド バーの上部にある pull request アイコンをクリックします。

    [ソース管理] サイド バーの上部のスクリーンショット。 pull request アイコンが濃いオレンジ色の枠線で強調表示されています。

  2. マージ元のローカルブランチとリポジトリ、およびマージ先のリモートブランチとリポジトリが正しいことを確認します。 そして、プルリクエストにタイトルと説明を付けます。

    [GitHub pull request] サイド バーと pull request を作成するフォームのスクリーンショット。[タイトル] と [説明] のフィールドが表示されています。

  3. [作成] をクリックします。

リモートリポジトリに変更をプッシュする

保存してコミットした変更をプッシュできます。 それにより、変更がリモートリポジトリの上流ブランチに適用されます。 プルリクエストの作成準備が整っていない場合、または GitHub でプルリクエストを作成する場合は、この操作を行うことをお勧めします。

  1. サイド バーの上部にある [] をクリックします。

    [ソース管理] サイド バーのスクリーンショット。 省略記号ボタン (3 つのドット) が濃いオレンジ色の枠線で強調表示されています。

  2. ドロップダウン メニューの [プッシュ] をクリックします。