チュートリアル

Bobでコミットとプルリクエストを作成する

Bobを使ってブランチを作成し、変更をステージし、コミットメッセージを生成し、リポジトリにプッシュして、プルリクエストを開く方法を学びます。

BobにはGitバージョン管理の組み込みサポートがあり、IDEを離れることなくコードの変更を管理できます。

このチュートリアルでは、Bobを使ってブランチを作成し、コードの変更をステージし、説明的なコミットメッセージを生成し、変更をリポジトリにプッシュして、レビューしてマージできるプルリクエストを開く方法を学びます。

前提条件

プロジェクトをセットアップする

リポジトリの作業コピーを準備します。

リポジトリをフォークする

Galaxium Travelsリポジトリのフォークから作業します。

  1. GitHubのGalaxium Travelsリポジトリに移動します。
  2. ページの右上にあるForkボタンをクリックします。
  3. フォークのオーナーとしてGitHubアカウントを選択します。

リポジトリのフォークについて詳しくは、リポジトリのフォークに関するGitHubのドキュメントを参照してください。

リポジトリをクローンする

  1. ターミナルで、フォークしたGalaxium Travelsリポジトリをクローンします。次のコマンドの<your-id>をGitHubユーザー名に置き換えます:

    git clone git@github.com:<YOUR_ID>/galaxium-travels.git

認証エラーが発生した場合は、SSHキーをssh-agentに追加していることを確認してください。詳細についてはGitHubのドキュメントを参照してください。

  1. Bobでファイルをクリックし、次にフォルダーを開くをクリックします。

  2. 今クローンしたgalaxium-travelsディレクトリに移動して開きます。

Agentモードに切り替える

Bobのチャットインターフェースがまだ開いていない場合は、ナビゲーションバーの横にあるBobアイコンをクリックするか、ショートカットOption + Command + B(Mac)またはCtrl + Alt + B(Windows)を使用して開きます。

IBM Bob IDEで開いたBobチャットパネル

BobがコードをGitコマンドを実行し、ワークフローを通じてガイドできるようにAgentモードを使用します。明示的に許可されない限り、Bobは各操作の前に許可を求めます。

エージェントチャットのモードセレクタードロップダウンをクリックしてAgentを選択するか、チャットで/agentと入力します。

ブランチを作成する

変更を加える前に、作業をmainから分離するためにfeatureブランチを作成します。

次のプロンプトを実行します:

update-headerという名前の新しいブランチを作成して切り替えてください。

Bobはgit checkout -b update-headerを実行する許可を要求します。

タスクを承認をクリックしてブランチを作成し、切り替えます。

コードを変更する

Bobがコミットするものを与えるために小さな変更を加えます。

Headerコンポーネントを開く

Galaxium Travelsのコードベースでbooking_system_frontend/src/components/layout/Header.tsxを開きます。

ヘッダーテキストを編集する

BobにGalaxium TravelsGalaxium Travel Agencyに変更するよう依頼します。@プレフィックスはファイルをBobのコンテキストに追加し、どのファイルを編集するかを正確に伝えます。

@booking_system_frontend/src/components/layout/Header.tsx の
Headerの名前を`Galaxium Travels`から`Galaxium Travel Agency`に変更してください

あるいは、ファイルを手動で編集してGalaxium TravelsGalaxium Travel Agencyに変更することもできます。

<span className="text-2xl font-bold bg-cosmic-gradient bg-clip-text text-transparent">
    Galaxium Travel Agency
</span>

Gitワークフローを実行する

Bobを使って変更をステージ、コミット、プッシュし、プルリクエストを開きます。

変更をステージする

次のプロンプトを実行して変更をステージします:

ヘッダーコンポーネントの更新のために加えたすべての変更をステージしてください。

Bobはワーキングツリーを検査し、変更されたファイルを特定して、git addを実行する許可を要求します。

タスクを承認をクリックしてBobがコマンドを実行できるようにします。

変更をコミットする

次のプロンプトを実行してステージされた変更をコミットします:

追加された内容を要約した説明的なコミットメッセージでステージされた変更をコミットしてください。

Bobはステージされたdiffを確認し、変更の目的と範囲を説明するコミットメッセージを生成します。

BobはIDEにExecuteコマンドを実行するための許可プロンプトを表示します。

リスクを理解していますをクリックし、次に承認をクリックしてBobがgit commitを実行できるようにします。

変更をプッシュする

次のプロンプトを実行してコミットをリモートリポジトリにプッシュします:

変更をリモートリポジトリにプッシュしてください。

Bobは現在のブランチとリモートを特定し、git pushを実行する許可を要求します。

タスクを承認をクリックしてコミットをプッシュします。Bobはチャット履歴でプッシュが成功したことを確認します。

プルリクエストを開く

次のプロンプトを実行してプルリクエストを作成します:

変更をmainブランチにマージするプルリクエストを作成してください。変更された内容に基づいて明確なタイトルと説明を書いてください。

初めてプルリクエストを作成する際、BobはGitHub認証を必要とします。Bobはアクセスを承認するためのブラウザウィンドウを開きます。承認すると、Bobはプルリクエストを開きます。提供されたリンクをクリックしてブラウザでプルリクエストにアクセスします。タイトルと説明を確認した後、プルリクエストを作成をクリックします。

Bobはプルリクエストのリンクを返すので、ブラウザから直接確認、共有、またはマージできます。

確認ウィンドウなしでBobにプルリクエストを作成させるには、GitHub CLIをインストールし、Bobにそれを使用してプルリクエストを作成するよう依頼します。

トラブルシューティング

  • プッシュが拒否されたか認証が失敗した: フォークにプッシュできる資格情報でGitが設定されていることを確認します。
  • ブランチupdate-headerがすでに存在する: Bobに既存のブランチに切り替えるよう依頼するか、別のブランチ名を選択します。
  • プルリクエストがIBM/galaxium-travelsを対象にしている: プルリクエストを作成する前に、ベースリポジトリをフォークに変更します。

クリーンアップ

このチュートリアルを完了したら、作成したリソースを削除できます:

  • ローカルクローンをmainブランチに戻します。
  • GitHubでプルリクエストを閉じるかマージします。
  • フォークからupdate-headerブランチを削除します。
  • Galaxium Travelsのフォークが不要になった場合は削除します。

次のステップ

このチュートリアルでは、BobのネイティブGit統合を使ってIDEを離れることなくコードの変更を管理する方法を学びました。

Bobの動作を標準化するに進み、すべての会話とモードでBobの動作を制御する永続的なルールを定義する方法を学びます。

このトピックはいかがですか?