Skip to main content

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

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

メモ: JetBrains IDE での GitHub Codespaces の使用は現在、パブリック ベータ版であり、変更される場合があります。

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 で、作業する新しいブランチを作成します。
  • 変更を加えて保存します。
  • 変更をコミットします。
  • プルリクエストを発行します。

自動フォークについて

書き込みアクセス権を持つ任意のリポジトリの codespace を作成できます。 リポジトリへの読み取りアクセス権しかない場合、フォークできる間はリポジトリの codespace を作成できます。

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

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

注: フォーク リポジトリを削除すると、フォークにリンクされている codespace は、最初にアップストリーム リポジトリから作成した場合でも削除されます。

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

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. アクティビティ バーで、 [ソース管理] ビューをクリックします。 ソースコントロールビュー

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

    ステージング ボタンが強調表示されたソース コントロール サイドバー

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

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

    コミット メッセージがあるソース管理サイドバー

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

    VS Code の [ブランチの発行] ボタンのスクリーンショット

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

    VS Code の [リポジトリ名] ドロップダウンのスクリーンショット

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

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

    VS Code の [GitHub で開く] ポップアップのスクリーンショット

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

  1. 現在のブランチがステータス バーに表示されていない場合は、codespace の下部でステータス バーを右クリックし、 [ソース コントロール] を選択します。
  2. ステータスバーでブランチ名をクリックします。 ステータス バーにあるブランチ
  3. ドロップダウンで、切り替えるブランチをクリックするか、新しいブランチ名を入力して、 [新しいブランチの作成] をクリックします。 ブランチ メニューから選択

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

変更をコミットする

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。 ソースコントロールビュー
  2. 変更をステージングするには、変更したファイルの横の [+] をクリックします。複数のファイルを変更してすべてをステージングする場合は、 [変更] の横のものをクリックします。 ステージング ボタンが強調表示されているソース管理のサイドバー
  3. 行った変更について説明するコミットメッセージを入力します。 コミット メッセージがあるソース管理のサイドバー
  4. ステージされている変更をコミットするには、ソース管理のサイドバーの上部にあるチェック マークをクリックします。 チェック マーク アイコンをクリックする

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

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

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。 ソースコントロールビュー
  2. サイドバーの上部にある省略記号 [...] をクリックします。[表示] および [その他のアクション] の省略記号ボタン
  3. ドロップダウン メニューの [プル] をクリックします。

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

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

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

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

  1. アクティビティ バーの下部にある [管理] ボタンをクリックします。 [管理] ボタン
  2. メニューで、[設定] をクリックします。
  3. [設定] ページで、次を検索します: autofetchautofetch を検索する
  4. 現在のリポジトリに登録されているすべてのリモートの更新の詳細をフェッチするには、Git: Autofetchall に設定します。 Git autofetch を有効にする
  5. 各自動フェッチ間の秒数を変更する場合は、Git: Autofetch Period の値を編集します。

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

  1. リポジトリのローカル コピーに変更をコミットし、 [pull request の作成] アイコンをクリックします。 ステージング ボタンが強調表示されているソース管理サイドバー
  2. マージ元のローカルブランチとリポジトリ、およびマージ先のリモートブランチとリポジトリが正しいことを確認します。 そして、プルリクエストにタイトルと説明を付けます。 ステージング ボタンが強調表示されているソース管理サイドバー
  3. [作成] をクリックします。

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

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

  1. サイドバーの上部にある省略記号 [...] をクリックします。[表示] および [その他のアクション] の省略記号ボタン
  2. ドロップダウン メニューの [プッシュ] をクリックします。

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

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

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

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

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

    ステージング ボタンが強調表示されたソース コントロール サイドバー

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

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

    コミット メッセージがあるソース管理サイドバー

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

    VS Code の [ブランチの発行] ボタンのスクリーンショット

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

    VS Code の [リポジトリ名] ドロップダウンのスクリーンショット

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

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

    VS Code の [GitHub で開く] ポップアップのスクリーンショット

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

  1. 現在のブランチがステータス バーに表示されていない場合は、codespace の下部でステータス バーを右クリックし、 [ソース コントロール] を選択します。
  2. ステータスバーでブランチ名をクリックします。 ステータス バーにあるブランチ
  3. ドロップダウンで、切り替えるブランチをクリックするか、新しいブランチ名を入力して、 [新しいブランチの作成] をクリックします。 ブランチ メニューから選択

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

変更をコミットする

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。 ソースコントロールビュー
  2. 変更をステージングするには、変更したファイルの横の [+] をクリックします。複数のファイルを変更してすべてをステージングする場合は、 [変更] の横のものをクリックします。 ステージング ボタンが強調表示されているソース管理のサイドバー
  3. 行った変更について説明するコミットメッセージを入力します。 コミット メッセージがあるソース管理のサイドバー
  4. ステージされている変更をコミットするには、ソース管理のサイドバーの上部にあるチェック マークをクリックします。 チェック マーク アイコンをクリックする

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

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

  1. アクティビティ バーで、 [ソース管理] ビューをクリックします。 ソースコントロールビュー
  2. サイドバーの上部にある省略記号 [...] をクリックします。[表示] および [その他のアクション] の省略記号ボタン
  3. ドロップダウン メニューの [プル] をクリックします。

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

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

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

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

  1. アクティビティ バーの下部にある [管理] ボタンをクリックします。 [管理] ボタン
  2. メニューで、[設定] をクリックします。
  3. [設定] ページで、次を検索します: autofetchautofetch を検索する
  4. 現在のリポジトリに登録されているすべてのリモートの更新の詳細をフェッチするには、Git: Autofetchall に設定します。 Git autofetch を有効にする
  5. 各自動フェッチ間の秒数を変更する場合は、Git: Autofetch Period の値を編集します。

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

  1. リポジトリのローカル コピーに変更をコミットし、 [pull request の作成] アイコンをクリックします。 ステージング ボタンが強調表示されているソース管理サイドバー
  2. マージ元のローカルブランチとリポジトリ、およびマージ先のリモートブランチとリポジトリが正しいことを確認します。 そして、プルリクエストにタイトルと説明を付けます。 ステージング ボタンが強調表示されているソース管理サイドバー
  3. [作成] をクリックします。

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

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

  1. サイドバーの上部にある省略記号 [...] をクリックします。[表示] および [その他のアクション] の省略記号ボタン
  2. ドロップダウン メニューの [プッシュ] をクリックします。

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

  1. ステータス バーの右側にあるブランチ名をクリックします。

    ステータス バーのブランチ名のスクリーンショット

  2. ポップアップ メニューで、次のいずれかを行います。

    • 現在のブランチに基づいて新しいブランチを作成するには、現在のブランチの名前をクリックし、 [新しいブランチ] を選びます。

      新しいブランチ オプションのスクリーンショット

      新しいブランチの名前を入力し、 [作成] をクリックします。

      ブランチの作成ダイアログ ボックスのスクリーンショット

    • 既存のブランチをチェックアウトするには、チェックアウトするブランチの名前の入力を始めます。一覧からブランチをクリックし、 [チェックアウト] をクリックします。

      チェックアウト オプションのスクリーンショット

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

変更をコミットする

  1. ナビゲーション バーの右側にあるチェック マークをクリックします。

    [コミット] チェック マークのスクリーンショット

  2. [変更のコミット] ダイアログ ボックスで、コミット メッセージを入力します。

  3. [コミット] をクリックします。

    または、 [コミット] の横にある下向き矢印をクリックし、 [コミットしてプッシュ] をクリックします。

    [コミットしてプッシュ] ボタンのスクリーンショット

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

リモート リポジトリ上の同じブランチから変更をプルし、codespace で作業しているリポジトリのコピーにそれらの変更を適用できます。

  1. ナビゲーション バーの右側で、下向きの矢印をクリックします。

    プロジェクトの更新の下向き矢印ボタンのスクリーンショット

  2. [プロジェクトの更新] ダイアログ ボックスで、受信した変更をマージまたはリベースするかどうかを選びます。

    [プロジェクトの更新] ダイアログ ボックスのスクリーン ショット

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

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

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

  1. ナビゲーション バーの右側で、上向きの矢印をクリックします。

    コミットのプッシュの上向き矢印のスクリーンショット

  2. [コミットのプッシュ] ダイアログ ボックスで、 [プッシュ] をクリックします。