Skip to main content

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

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

Note

  • JetBrains IDE での GitHub Codespaces の使用は現在 パブリック プレビュー 段階であり、変更される可能性があります。
  • JetBrains IDE のコードスペースで作業するには、JetBrains ゲートウェイのリリース 2023.3.* または 2024.1.* を使用する必要があります。

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

Note

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

自動フォークについて

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

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

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

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

Note

  • フォーク リポジトリを削除すると、フォークにリンクされている 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] の横のものをクリックします。

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

    Note

    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 で新しいブランチを作成するためのドロップダウンのスクリーンショット。

Tip

他のユーザーが最近リモート リポジトリのファイルを変更した場合、切り替え後のブランチでは、その変更を自分の 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] の横のものをクリックします。

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

    Note

    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 で新しいブランチを作成するためのドロップダウンのスクリーンショット。

Tip

他のユーザーが最近リモート リポジトリのファイルを変更した場合、切り替え後のブランチでは、その変更を自分の 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. ドロップダウン メニューの [プッシュ] をクリックします。

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

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

    ブランチ名のヒントが表示されているステータス バーのスクリーンショット。 ブランチ アイコンと名前 "main" が濃いオレンジ色の枠線で強調表示されています。

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

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

      ブランチ ポップアップ メニューのスクリーンショット。[新しいブランチ] オプションが選択されています。

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

      [新しいブランチの作成] ダイアログのスクリーンショット。[作成] ボタンと [キャンセル] ボタンがあります。 "my-branch" がブランチ名として入力されています。

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

      ブランチ ポップアップ メニューのスクリーンショット。"origin/templates" ブランチが選択されており、サブメニューでは [チェックアウト] が選択されています。

      Tip

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

変更をコミットする

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

    JetBrains クライアントの上部にあるナビゲーション バーのスクリーンショット。 変更をコミットするためのチェック マーク アイコンが強調表示されています。

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

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

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

    [変更のコミット] ダイアログのスクリーンショット。[コミットしてプッシュ] ボタンが表示されています。

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

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

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

    JetBrains クライアントの上部にあるナビゲーション バーのスクリーンショット。 下向き矢印のアイコンが濃いオレンジ色の枠線で強調表示されています。

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

    [プロジェクトの更新] ダイアログのスクリーンショット。マージまたはリベースのオプションと、[次回から表示しない] チェックボックスが表示されています。

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

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

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

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

    JetBrains クライアントの上部にあるナビゲーション バーのスクリーンショット。 上向き矢印のアイコンが濃いオレンジ色の枠線で強調表示されています。

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