> ## Documentation Index
> Fetch the complete documentation index at: https://docs.diversion.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ドラフトコミット

> コミットする前に変更のフィードバックをリクエスト

## ドラフトコミットとは?

ドラフトコミットを使うと、変更がアクティブなブランチにコミットされる **前** にフィードバックをリクエストできます。コミットしていないワークスペースの変更から直接レビューを作成できます。

これにより、必要なコードレビューを受けつつ、コミット履歴をきれいに保つことができます。

## なぜドラフトコミットを使うのか?

ドラフトコミットは、次のような場合に最適です:

* **単一ブランチで作業** し、よりシンプルなレビューワークフローが欲しい
* 確定させる前に、進行中の変更に対して **早期フィードバック** が欲しい
* 承認された変更のみをコミットして、**履歴をきれいに保つ**
* **アイデアを試し**、恒久的にする前にチームの意見が欲しい

ドラフトコミットはオプションです。先にコミットしてから後でレビューする通常のコミットワークフローも引き続き使用できます。

## ドラフトコミット vs レビュー

適切なワークフローを選ぶための簡単な比較です:

|             | ドラフトコミット                | レビュー                       |
| ----------- | ----------------------- | -------------------------- |
| **使うタイミング** | コミット前にフィードバックを得る        | 既存のコミット/ブランチにフィードバックを得る    |
| **開始点**     | コミットされていないワークスペースの変更    | ブランチにコミットされた変更             |
| **コミット履歴**  | 承認後にのみ変更がコミットされる        | 変更はすでにブランチ履歴内              |
| **ワークフロー**  | 編集 → レビュー送信 → 承認 → コミット | コミット → レビュー作成 → 承認 → マージ   |
| **最適な用途**   | 単一ブランチワークフロー、進行中の作業     | 複数ブランチワークフロー、フィーチャーブランチ    |
| **コミット履歴**  | 承認された変更のみがコミットされる       | 中間/実験的なコミットが含まれる場合がある      |
| **柔軟性**     | コミット前に破棄または変更が容易        | コミットの revert または amend が必要 |

どちらの機能も、コメント、承認、通知を備えた同じレビュー体験を作成します。主な違いは、変更を **いつ** コミットするか — フィードバックを得る前か後か — です。

## ドラフトコミットの作成

**ステップバイステップの手順:**

1. **ワークスペースで変更を加える**
   * 通常どおりファイルを編集します
   * 変更はワークスペースにコミットされないままです

2. **リポジトリを開く**
   * Diversion Web アプリでリポジトリを開きます
   * ワークスペースの保留中の変更は **Files** ビューに表示されます

3. **「Commit...」の隣のドロップダウン矢印をクリック**
   * コミットボタンの右側にはドロップダウン矢印 (▼) があります
   * 矢印をクリックしてドロップダウンメニューを開きます
   * **「Send to review\...」** を選択します

<img src="https://mintcdn.com/diversion-2/ToNSrN_BUr2fIxA_/images/draft-commits/commit-dropdown.png?fit=max&auto=format&n=ToNSrN_BUr2fIxA_&q=85&s=083135068585bda30f41d3853be72448" alt="Send to review オプション付きのコミットボタンドロップダウン" width="414" height="300" data-path="images/draft-commits/commit-dropdown.png" />

4. **送信するファイルを確認**
   * レビューに送信されるファイルを示す確認ダイアログが表示されます
   * ファイルリストを確認し、**「Send to review」** をクリックして続行します

<img src="https://mintcdn.com/diversion-2/ToNSrN_BUr2fIxA_/images/draft-commits/send-to-review-dialog.png?fit=max&auto=format&n=ToNSrN_BUr2fIxA_&q=85&s=2868ef6682700b4aafbd2f45a7b0cf33" alt="Send to review 確認ダイアログ" width="500" height="276" data-path="images/draft-commits/send-to-review-dialog.png" />

5. **レビューの詳細を記入**
   * **Title** (必須): 変更の簡単な説明
     * 例: 「Add user authentication endpoints」
   * **Description** (オプション): レビュアー向けの詳細な説明
     * 何を変更し、なぜかを説明します
     * 特にフィードバックが欲しい箇所があれば言及します
   * **Reviewers** (オプション): 変更をレビューすべきチームメイトを選択
     * レビュアーは今追加することも後で追加することもできます

6. **「Send to Review」をクリック**
   * コミットされていない変更でレビューが自動的に作成されます
   * ワークスペースは自動的にクリアされるので、すぐに他の変更に着手できます (変更はドラフトに安全に保存されています)
   * アサインされたレビュアーにメール通知が送信されます

<img src="https://mintcdn.com/diversion-2/hNFKL35i0RPRSCiK/images/draft-commits/create-draft-form.png?fit=max&auto=format&n=hNFKL35i0RPRSCiK&q=85&s=2c8b530a580acf782d36c926d231ea9b" alt="ドラフトコミット作成フォーム" width="1121" height="819" data-path="images/draft-commits/create-draft-form.png" />

## ドラフトコミットの管理

### ドラフトの表示

1. **ブランチセレクターを開く**
   * ブランチセレクター (左上、現在のブランチとコミットを表示) を開き、**Drafts** タブをクリックします。

2. **ドラフトを見つける**
   * ドラフトコミットは **Drafts** タブに表示されます
   * 各ドラフトはタイトルとソースブランチを表示します

3. **ドラフトアクションにアクセス**
   * ドラフトの隣にある **...** (その他のオプション) メニューをクリックして、利用可能なアクションを確認します:
     * **View Review**: フィードバックとコメントを見るために関連レビューを開く
     * **Update**: ドラフトに切り替えて作業を続行する
     * **Close**: ドラフトコミットを破棄する

<img src="https://mintcdn.com/diversion-2/byT8FECKa2zLvaOH/images/draft-commits/draft-list.png?fit=max&auto=format&n=byT8FECKa2zLvaOH&q=85&s=db5532d6da9907bdddc036c303470184" alt="ブランチセレクター内のドラフトコミット" width="870" height="530" data-path="images/draft-commits/draft-list.png" />

複数のドラフトコミットを同時に開いておけるので、異なる変更に取り組み、それぞれについて独立してフィードバックを得ることができます。

## ドラフトコミットの更新

作成後にドラフトを変更する必要がある場合:

**ステップバイステップの手順:**

1. **ドラフトを見つける**
   * ブランチセレクターを開き、**Drafts** タブに切り替えます。リストからドラフトを見つけます。

2. **「Update」をクリック**
   * ドラフトの隣の **...** (その他のオプション) メニューをクリックします
   * メニューから **「Update」** を選択します
   * ダイアログで **「Switch to draft」** をクリックして確認します
   * これによりワークスペースがドラフトブランチに切り替わり、ドラフトの変更が読み込まれます
   * 編集を続行できます

3. **追加の変更を加える**
   * レビュアーのフィードバックに対応するためにファイルを編集します

4. **ドラフトを更新**
   * 変更をコミットします
   * レビューは自動的に新しい変更で更新されます
   * レビュアーには更新された差分が表示されます

## レビュー承認後

レビュアーがドラフトを承認したら:

1. **フィードバックを確認**
   * すべてのコメントと承認を読み通します
   * すべての懸念事項が対処されていることを確認します

2. **変更を確定**
   * 必要に応じてドラフトに戻って最終調整を行います
   * すべてがコミット準備完了であることを確認します

3. **変更をコミット**
   * 承認された変更をブランチにコミットできるようになりました
   * レビューされ承認された変更のみでコミット履歴がきれいに保たれます

4. **ドラフトは自動的に閉じられる**
   * マージまたはコミットされると、ドラフトのステータスは closed に変わります

## ドラフトコミットのクローズ

ドラフトを進めないと決めた場合:

**ステップバイステップの手順:**

1. **ドラフトを見つける**
   * ブランチセレクターを開き、**Drafts** タブに切り替えます。リストからドラフトを見つけます。

2. **「Close」をクリック**
   * ドラフトの隣の **...** (その他のオプション) メニューをクリックします
   * メニューから **「Close」** を選択します

3. **クローズを確認**
   * 確認ダイアログで **「Close draft」** をクリックします
   * このアクションは取り消せません

4. **ドラフトが削除される**
   * ドラフトはアクティブなドラフトリストから削除されます
   * ドラフトブランチにいた場合は、ソースブランチに戻ります
   * 変更は破棄されます

## ドラフトレビューの操作

### レビュープロセス

ドラフトコミットはレビューを自動的に作成するので、レビュープロセスは同じように機能します:

* **レビュアーは特定の行またはファイルにコメント** できます
* **レビュアーは承認または変更をリクエスト** できます
* レビュアーが応答すると **通知を受け取ります**
* **通常のレビューと同様にレビュー内で議論** が行われます

詳細なレビュー手順については、[レビューのドキュメント](/ja/basic/reviews) を参照してください。

### 通知

以下について、メール通知を受け取ります:

* レビュアーがドラフトにコメントしたとき
* レビュアーが承認または変更をリクエストしたとき
* レビューがクローズ/マージされたとき
