ハイライト
Xcode 13 は、コードレビュー、履歴比較、ブランチ切り替え、プルリクエスト、レビューディスカッション、Xcode Cloud ステータスを同じ開発環境に統合します。開発者は、ソース コードのコンテキストでリグレッションを発見し、修正を提出し、チームのコラボレーションを完了できます。
主要内容
あるユーザーはApp Storeのレビューで、最近Frutaのインターフェースが間違っているように見えると述べた。開発者は問題の場所はわかっていますが、実際に修正する前に、変更がいつ開始されたのか、どのファイルが影響を受けたのかという 2 つの質問に答える必要があります。
以前は、これには通常、エディター、Git クライアント、Web プル リクエスト、CI ページの間を行き来する必要がありました。 Xcode のコードを確認し、他のツールの違いを確認してから、Web ページに戻ってレビュー コメントに応答します。切り替えるたびに、コンテキストの一部が失われます。
Xcode 13 が行うことは、これらのアクションをソース コードに戻すことです。コード レビュー モードでは、ローカルの変更と履歴バージョンの違いがエディターに直接表示されます。ソース管理ナビゲータの「変更」タブには、プロジェクトレベルのファイル変更がリストされます。ツールバーには現在のブランチが表示され、関連するプル リクエストにアクセスできます。
このスピーチには完全なプロセスが組み込まれています。最初にコード レビュー モードを使用して UI のリグレッションを追跡し、次に修復ブランチとプル リクエストを作成し、次に Xcode でチームのコメントと CI ステータスを表示し、最後に自分の変更をマージして同僚のプル リクエストをレビューします。
UI の回帰から始める
この問題は最初に成分インターフェイスで発生しました。開発者がソース ファイル内のコードを変更すると、エディターのガター (サイドバー) に変更箇所がマークされます。エディター バーの [コード レビュー] ボタンをクリックすると、Xcode はローカルの編集内容を最新のコミットと比較します。
これにより、最初の問題点が解決されます。コードを記述するときに、コミットまで待って違いを確認する必要がなくなります。すべての編集で古い値と新しい値をすぐに確認できます。
単一ファイルの差分からプロジェクトの差分に展開します。
通常、修正は複数のファイルにまたがります。現在のファイルだけを見ていると、別の場所の変更を見逃しがちです。 Xcode 13 では、ソース管理ナビゲーターに [変更] タブが追加され、最後のコミット以降に変更されたすべてのファイルが一覧表示されます。
リスト内のファイルをクリックすると、Xcode が自動的にコード レビュー モードに入り、ファイルの相違点が表示されます。開発者はファイル間をすばやく移動して、この修正に含まれる内容を再確認できます。
Xcode にリクエストをプルバックする
修正を作成した後、開発者はチームメンバーに、この見慣れないコードが新たな問題を引き起こさないことを確認するよう依頼する必要があります。 Xcode 13 は GitHub と Bitbucket Server を統合し、ソース コントロール ポップオーバーからプル リクエストを作成します。
プル リクエストは、ブランチにプッシュされた変更、まだプッシュ用に送信されていないローカルの変更、レビュー ディスカッション、承認ステータス、CI ステータスなどを含む変更ナビゲーターに表示されます。コメントは、対応するソース コードの場所に直接ジャンプできます。
詳細
1. コード レビュー モード: エディターでローカルの変更を表示します。
(01:26) Xcode 13 のコード レビュー モードでは、ローカル編集を最新のコミットと比較できます。入り口はエディター バーの「コード レビュー」ボタンです。有効にすると、エディターは現在のファイル内の変更を強調表示し続けます。
Editor Bar → Code Review
Source Editor → Gutter change markers
Bottom Bar → Stepper arrows
Editor Menu → In-line / Side-by-side
キーポイント:
Editor Bar → Code Review: エディター バーの [コード レビュー] ボタンをクリックして、コード レビュー モードに入ります。Source Editor → Gutter change markers: エディターのサイドバーは、現在のファイル内の変更の場所をマークします。Bottom Bar → Stepper arrows: 下部バーのステッパーには変更の数が表示され、矢印を使用して変更間をジャンプします。Editor Menu → In-line / Side-by-side:右上のエディタメニューでインライン表示と左右コントラスト表示を切り替えることができます。
この機能は、修復を書き込むときに使用するのに適しています。最初にコミットする必要はなく、外部の差分ツールを開く必要もありません。コードを書くたびに、最後のコミットと比較してどのような変更が加えられたかを確認できます。
2. コミットセレクター: 任意の 2 つの履歴ポイントを比較します。
(02:33) ローカルな変更では、「何を変更したのか」しか説明できません。回帰の原因を特定するには、2 つの過去のバージョンを比較する必要があります。 Xcode 13 では、ブランチ、タグ、最近の場所からコミットを選択できるコミット コントロールが下部バーに追加されます。
Bottom Bar → Commit controls
Select left revision → Release branch or tag
Select right revision → Another branch, tag, or recent location
Review highlights → Purple / Orange
Bottom Bar → Reset
キーポイント:
Bottom Bar → Commit controls: 下部バーの送信コントロールを使用して比較範囲を設定します。Select left revision: TestFlight または App Store リリースに対応するリリース ブランチなどの履歴バージョンを選択します。Select right revision: 別の履歴バージョンを選択して、2 つの時点間のコード変更を表示します。Review highlights → Purple / Orange: Xcode は、現在比較されている 2 つのコミットを区別するために紫とオレンジを使用します。Bottom Bar → Reset: 過去の差異を表示した後、「リセット」をクリックして最新のローカル変更に戻ります。
トーク内のシナリオはリリース ブランチです。チームは、TestFlight または App Store にコミットするたびにリリース ブランチをカットします。 UI の問題が発生した後、2 つのリリース関連バージョンを直接比較して、成分が表示されるときにどのような変更が発生したかを確認できます。
3. 変更ナビゲーター: プロジェクト全体の変更リストを表示します。
(03:47) Xcode 13 のソース管理ナビゲーターは、修復が複数のファイルにまたがる場合に [変更] タブを追加します。最後のコミット以降にプロジェクト内で変更されたすべてのファイルがリストされます。
Source Control Navigator → Changes
Changed file → Open in Code Review mode
File list → Move between changed files
Pull Request section → Preview included changes
Local Changes section → See changes not yet pushed
キーポイント:
Source Control Navigator → Changes: ソース管理ナビゲータの「変更」タブを開いて、プロジェクトレベルの変更リストを表示します。Changed file → Open in Code Review mode: ファイルをクリックすると、Xcode は自動的にコード レビュー モードに入り、ファイルの相違点が表示されます。File list → Move between changed files: ファイル リストに切り替えて、この修復に関係するすべてのファイルをすばやく確認します。Pull Request section → Preview included changes: プル リクエストを作成した後、送信されてブランチにプッシュされたコンテンツがここに表示されます。Local Changes section → See changes not yet pushed: まだプル リクエストに入っていないローカルの変更が表示されます。
このリストは省略の問題に対処します。送信する前に、開発者は、どの変更がプル リクエストに入力され、どの変更がローカルに残るかをファイルごとに確認できます。
4. ブランチのポップオーバー: ツールバーからブランチを作成および切り替えます
(04:16) Xcode 13 のツールバーには現在のブランチが表示されます。ブランチ名をクリックして最近使用したブランチを切り替えるか、セカンダリ メニューから新しいブランチを作成します。
Toolbar → Current branch name
Branch popover → Recent branches
Secondary menu → Create branch
Switch branch → Xcode discovers associated pull requests
キーポイント:
Toolbar → Current branch name: ツールバーには現在のブランチが直接表示されるため、間違ったブランチで作業を続けるリスクが軽減されます。Branch popover → Recent branches: ブランチ名をクリックすると、最近処理されたブランチにすぐに切り替えることができます。Secondary menu → Create branch: サブメニューから修正用の新しいブランチを作成します。Switch branch → Xcode discovers associated pull requests: ブランチを切り替えた後、Xcode はソース ブランチと現在のブランチに基づいて関連するプル リクエストを自動的に検出します。
これは日々の修理にとって重要です。開発者はまずローカルで問題を特定し、次に修復ブランチを作成して、そのブランチをプル リクエストに接続します。
5. プル リクエストのワークフロー: CI の作成、レビュー、表示、マージ
(05:12) Xcode 13 は、GitHub と Bitbucket Server の統合プル リクエスト サポートを提供します。開発者はソース管理ポップオーバーからプルリクエストを作成できます。 Xcode は最初にドラフト プル リクエストを作成し、現在のブランチをデフォルトの上流ブランチにマージします。スピーチのターゲットブランチは次のとおりです。main。
Source Control Popover → Create Pull Request
Draft Pull Request → Target default upstream branch
Title + Description → Explain the fix
Participants → Add reviewers
Changes Navigator → Pull Request overview
Pull Request actions → Merge
キーポイント:
Source Control Popover → Create Pull Request:ソース管理ポップアップからプルリクエストを作成します。Draft Pull Request → Target default upstream branch: Xcode は最初にドラフトのプル リクエストを作成し、デフォルトでそれを上流のデフォルト ブランチにマージします。Title + Description → Explain the fix: レビュー担当者が修理内容を理解できるように、公開する前にタイトルと説明を入力します。Participants → Add reviewers: [参加者] ボタンをクリックして、指定した同僚をレビュー担当者としてマークします。Changes Navigator → Pull Request overview: プル リクエストが公開されると、変更ナビゲーターで概要、ステータス、ディスカッションを表示できます。Pull Request actions → Merge: レビューと CI に合格したら、[プル リクエスト アクションによるマージ] を選択します。
(07:48) プロジェクトが Xcode Cloud を使用している場合、プル リクエストの CI ポップオーバーに継続的統合ワークフローのステータスが表示されます。開発者はテスト結果の概要を確認し、エントリをクリックして詳細な Xcode Cloud レポートにジャンプできます。
Pull Request → CI popover
Workflow status → Test result summary
CI entry → Xcode Cloud report
Merge strategy → Merge Commit
Optional commit message → Keep or edit
キーポイント:
Pull Request → CI popover: プル リクエストで Xcode Cloud の継続的統合ステータスを表示します。Workflow status → Test result summary:テストに合格したかどうかをすぐに確認します。CI entry → Xcode Cloud report: CI エントリをクリックして、より詳細な Xcode Cloud レポートを入力します。Merge strategy → Merge Commit: マージ時にマージ戦略を選択し、音声でデフォルトのマージ コミットを使用します。Optional commit message → Keep or edit: マージする前にオプションのコミット情報を入力することも、デフォルトの内容を保持することもできます。
6. チームメイトのプルリクエストをレビューする: ソースコード行にコメントを残す
(08:58) ソース管理ポップオーバーには、関連するプル リクエストが表示されます。これには、あなたが作成したプル リクエストと、チーム メンバーがレビューを依頼したプル リクエストが含まれます。
Source Control Popover → Relevant pull requests
Pull Request node → Overview / Review status / Discussions
Changes Navigator → Files under pull request
Editor → Secondary click → Insert comment on line
Actions → Approve
キーポイント:
Source Control Popover → Relevant pull requests: 自分に関連するプル リクエストを表示します。Pull Request node → Overview / Review status / Discussions: 同僚のプル リクエストの概要、レビュー ステータス、ディスカッションを表示します。Changes Navigator → Files under pull request: Pull Request ノードの下にあるファイルの差異を 1 つずつ表示します。Editor → Secondary click → Insert comment on line: エディターで特定のソース コード行を右クリックし、コメントを挿入します。Actions → Approve: 変更を確認したら、右上隅のアクションを通じてプル リクエストを承認します。
このプロセスでは、レビュー コメントをソース コードの行に結び付けます。ディスカッションは実際の変更の隣に表示され、ページのコメント リストには残りません。
重要ポイント
- やるべきこと: チームに「コミット前にローカルでレビューする」習慣を確立します。
- 実行する価値がある理由: コード レビュー モードでは、ローカル編集と最近の送信との差異が継続的に表示されるため、送信前に不要な変更を発見するのに適しています。
- 開始方法: 小さな修正を書いた後、開きます
Editor Bar → Code Review、ステッパーを使用して変更を 1 つずつ確認し、送信します。
- やるべきこと: リグレッションの追跡を容易にするために、各リリースをブランチまたはタグにマップします。
- 実行する価値がある理由: Xcode 13 では、コミット コントロールを使用してブランチ、タグ、最近の場所を比較できます。これは、2 つのリリース間の変更を見つけるのに適しています。
- 開始方法: TestFlight または App Store で公開する前に、毎回リリース ブランチまたはタグを切り取ります。問題が発生した後、コード レビュー モードで 2 つのリリース ポイントを選択して比較します。
- やるべきこと: Xcode 内でプル リクエストの最初のレビューを完了します。
- 実行する価値がある理由: プル リクエストの変更、ディスカッション、ローカルでプッシュされていない変更はすべて変更ナビゲーターに表示されるため、開発者はソース環境を離れる必要がありません。
- 開始方法:から
Source Control Popover → Create Pull Requestドラフトを作成し、タイトルと説明を入力し、参加者経由でレビュー担当者を追加します。
- 対処方法: マージ前のチェックとして CI ステータスを使用します。
- 実行する価値がある理由: Xcode Cloud のステータスをプル リクエストの CI ポップオーバーに表示でき、失敗した場合は詳細レポートに直接ジャンプできます。
- 開始方法: プロジェクトの Xcode Cloud ワークフローを構成します。レビューに合格したら、プル リクエストの CI ポップオーバーを確認し、マージ戦略を選択します。
- やるべきこと: ソース コードの特定の行にコード レビュー コメントを書きます。
- 価値がある理由: Xcode は、エディターでの 2 回目のクリック、行レベルのコメント、フィードバック、および位置の直接の挿入をサポートしています。
- 開始方法: 同僚がレビューのためにリクエストしたプル リクエストを開き、変更ナビゲーターにファイルの差分を入力し、改善が必要な行にコメントを挿入し、最後にアクションを使用して承認またはディスカッションを継続します。
関連セッション
- Xcode Cloud の紹介 — Xcode Cloud がプル リクエストのクラウド ビルド、テスト、継続的インテグレーションの結果をどのように提供するかを学びます。
- Xcode Cloud ワークフローを探索する — Xcode Cloud ワークフローを構成し、CI ステータスをチーム開発プロセスに統合する方法を学びます。
- 高度な Xcode Cloud ワークフローをカスタマイズする — 複雑なチーム プロセス向けに、より詳細な Xcode Cloud 実行ロジックをカスタマイズします。
- Xcode Organizer で TestFlight がクラッシュするトリアージ — Xcode Organizer で TestFlight のクラッシュを特定し、コード レビュー プロセスで問題修復の閉ループを形成します。
- Xcode での高度なプロジェクト構成を探索する — 複雑な Xcode プロジェクト構成を管理し、チーム コラボレーションにおけるビルドとセットアップの差異を削減します。
コメント
GitHub Issues · utterances