コンテンツにスキップ

Paneflow Changes でエージェントの作業中の変更を確認する

公開日
更新日

Paneflow の Changes タブは、エージェントのターミナルの隣にローカルの変更を表示します。ファイルを最新のコミット(HEAD)と比較したり、エディタで前後のコードを確認したり、取り消したいブロックを復元したりできます。

以下の手順は Paneflow 0.17.5 を対象としています。Changes にはステージ済みと未ステージの変更、未追跡ファイルが含まれます。変更は作成者に関係なくチェックアウトごとにまとめられます。複数のエージェントが同じファイルを編集すると、それぞれの変更が一緒に表示されます。

更新ガイド。 この記事は当初、Paneflow 0.3.7 の Diff インターフェースを紹介していました。現在はドックの Changes タブについて説明しています。

レビューするチェックアウトを選ぶ

Git プロジェクトを開き、対象のチェックアウトまたは worktree のタブを選んで、ドックの Changes を開きます。差分を読む前にファイルのパスを確認してください。

現在のファイルが HEAD と比較されます。ステージ済みと未ステージの変更は、この表示ではまとめて扱われます。次のコミットに含まれる内容を正確に確認するには、git diff --cached で Git のインデックスを別途確認します。

Changes には、ブランチですでにコミットした変更は含まれません。最初のコミットがまだないリポジトリでは、空のツリーを比較基準にします。

前後のコードと一緒に差分を読む

Split では変更前後の内容を横に並べて、Unified では追加と削除を一つの表示で読めます。Words の強調表示は行内の変更を示します。

空白の設定では、比較時に空白をトリミングしたり無視したりできます。Python のインデントなど、空白が動作に影響する場合は Default を使ってください。

前後のコードを確認したい場合や修正したい場合は、統合エディタの Files でファイルを開きます。Changes はディスク上のファイルを読むため、編集内容を反映するには保存してください。

テキストの差分が表示されないファイル

Paneflow 0.17.5 の Changes は、バイナリファイル、512 KiB を超えるファイル、一部のロックファイルを一覧に載せますが、テキストの差分は表示しません。一覧には最大 200 ファイルを表示し、ほかのファイルが省略されている場合はその旨を示します。

テキストの差分がなくても、ファイルが変更されていることはあります。Git でファイル一覧を確認し、大きなファイルやバイナリファイルは適切なツールでレビューしてください。

Revert でブロックを復元する

変更したテキストファイルで Revert を使うと、ブロックが HEAD の内容に置き換わります。クリックすると確認ダイアログなしで、直ちにディスクへ書き込みます。 残しておきたい変更は事前にコピーするなどして保管し、復元後に残った差分を確認してください。

Revert は Git のインデックスを変更しません。ブロックをすでにステージしていた場合、インデックスを更新するまで次のコミットに含まれたままです。ステージ済みの変更を復元した後は、git diff --cached を確認してください。Revert は未追跡ファイルを削除しません。

Paneflow は次の二つの場合に復元を拒否します。

  • エディタにそのファイルの未保存の変更がある場合。 保存するか、不要なら破棄し、もう一度差分を読んでから再試行してください。
  • 差分の読み込み後にディスク上のファイルが変更された場合。 更新された差分を読んでから再試行してください。エージェントがまだ編集中なら、特に注意が必要です。

エージェントにブランチ全体のレビューを依頼する

対象のチェックアウトでエージェントを起動し、基準となるブランチを指定します。たとえば main から作成したブランチなら、次のように依頼できます。

このブランチを main と比較してレビューしてください。コミット済みの変更とローカルの変更を含め、ファイルは変更しないでください。バグと回帰リスクを、ファイルのパス、行番号、関連するテストとともに報告してください。

エージェントは、Changes に表示されないコミット済みの変更も確認できます。指摘をコードと照らし合わせ、必要な修正を行って関連するテストを実行してください。コミット前に git diff --cached で記録する内容を確認します。

このワークフローを続ける

すべての記事

次のエージェントを Paneflow で起動しよう。