# リポジトリのリリースを管理する

リリースを作成し、プロジェクトのイテレーションをバンドルしてユーザに配信できます。

## リリース管理について

リリース ノート、共同作成者の @mentions、バイナリ ファイルへのリンクを含む新しいリリースを作成したり、既存のリリースを編集または削除したりすることができます。 Releases API を使って、リリースを作成、変更、削除することもできます。 詳細については、REST API ドキュメントの「[リリースの REST API エンドポイント](/ja/rest/releases/releases)」を参照してください。

GitHub Marketplaceの特定のリリースからのアクションを発行することもできます。 詳しくは、「[GitHub Marketplaceでのアクションの公開](/ja/actions/how-tos/create-and-publish-actions/publish-in-github-marketplace)」をご覧ください。

Git 大容量ファイルストレージ (Git LFS) オブジェクトを、リリースごとに作成GitHub ZIP ファイルと tarball に含めるかどうかを選択できます。 詳しくは、「[リポジトリのアーカイブで Git LFS オブジェクトを管理する](/ja/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository)」をご覧ください。

## リリースの作成

> \[!TIP]
> リポジトリに対して変更できないリリースを有効にしている場合は、最初に下書きとしてリリースを作成し、すべての資産をアタッチしてから発行することをお勧めします。 これにより、リリースが不変になる前にすべての資産が確実に配置されます。 詳しくは、「[変更不可リリース](/ja/code-security/concepts/supply-chain-security/immutable-releases)」をご覧ください。

<div class="ghd-tool webui">

1. GitHub で、リポジトリのメイン ページに移動します。
2. ファイルの一覧の右側にある **\[リリース]** をクリックします。

   ![リポジトリのメイン ページのスクリーンショット。 \[リリース\] というラベルの付いたリンクがオレンジ色の枠線で強調表示されています。](/assets/images/help/releases/release-link.png)
3. ページの上部にある **\[新しいリリースの下書き]** を選びます。
4. リリースのタグを選択するには、 **\[タグの選択]** ドロップダウン メニューを選択します。
   * 既存のタグを使うには、そのタグを選びます。
   * 新しいタグを作成するには、リリースのバージョン番号を入力し、 **\[新しいタグを作成]** を選びます。
5. 新しいタグを作成した場合は、 **\[ターゲット]** ドロップダウン メニューを選び、リリースするプロジェクトが含まれるブランチを選びます。
6. 必要に応じて、\[説明] フィールドの上にある **\[前のタグ]** ドロップダウン メニューを選び、次に前のリリースを特定するタグを選びます。

   ![\[新しいリリース\] フォームのスクリーンショット。 \[前のタグ: 自動\] というラベルの付いたドロップダウン メニューがオレンジ色の枠線で強調表示されています。](/assets/images/help/releases/releases-tag-previous-release.png)
7. \[リリース タイトル] フィールドに、リリースのタイトルを入力します。
8. "このリリースの説明" フィールドに、リリースの説明を入力します。
   説明の中で任意のユーザーに @mention する場合、公開されるリリースには、 **\[共同作成者]** セクションと、メンションされているすべてのユーザーのアバター リストが含まれます。
   または、**\[リリース ノートを生成]** をクリックすると、リリース ノートを自動的に生成することができます。
9. オプションで、コンパイルされたプログラムなどのバイナリファイルをリリースに含めるには、ドラッグアンドドロップするかバイナリボックスで手動で選択します。
10. 必要に応じて、リリースが不安定であり、運用の準備ができていないことをユーザーに通知するには、 **\[これはプレリリースです]** を選びます。
11. 必要に応じて、 **\[最新リリースとして設定する]** を選びます。 このオプションをオンにしないと、セマンティック バージョン管理に基づいて、最新のリリース ラベルが自動的に割り当てられます。
12. 必要に応じて、GitHub Discussions がリポジトリで有効になっている場合、リリースのディスカッションを作成します。
    * **\[このリリースのディスカッションを作成する]** を選びます。
    * **\[カテゴリ]** ドロップダウン メニューを選び、次にリリース ディスカッションのカテゴリを選びます。
13. リリースを公開する準備ができている場合は、 **\[リリースの公開]** をクリックします。 後でリリースを操作するには、\[ **下書きの保存**] をクリックします。リポジトリに対して変更できないリリースを有効にしている場合は、最初に下書きを作成すると、リリースが変更不可になる前にすべての資産をアタッチできます。
    その後、リポジトリのリリース フィードで公開されたリリースまたはドラフト リリースを表示できます。 詳しくは、「[リポジトリのリリースとタグを表示する](/ja/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags)」をご覧ください。

</div>

<div class="ghd-tool cli">

> \[!NOTE]
> GitHub CLI の詳細については、「[GitHub CLI について](/ja/github-cli/github-cli/about-github-cli)」を参照してください。

1. リリースを作成するには、`gh release create` サブコマンドを使用します。
   `tag` をリリースに必要なタグに置き換えます。

   ```shell
   gh release create TAG
   ```

2. 対話型のプロンプトに従います。 または、引数を指定して、これらのプロンプトをスキップすることもできます。 使用できる引数の詳細については、[GitHub CLIマニュアルを](https://cli.github.com/manual/gh_release_create)参照してください。 たとえば、このコマンドでは、指定したタイトルとノートを含むプレリリースが作成されます。

<!-- markdownlint-disable outdated-release-phase-terminology --> <!-- disable the outdated-release-phase-terminology rule since "beta" is part of the CLI command --> 

```shell
gh release create v1.3.2 --title "v1.3.2 (beta)" --notes "this is a パブリック プレビュー release" --prerelease
```

<!-- markdownlint-enable outdated-release-phase-terminology -->

説明文で任意の @mention ユーザーを GitHub すると、公開されたリリースには、メンションされたすべてのユーザーのアバター一覧が掲載された**共同作成者**セクションが含まれます。

</div>

## リリースの編集

> \[!NOTE]
> リポジトリで変更不可リリースを有効にしている場合、リリースの発行後に編集できるのはタイトルとリリース ノートのみです。 「[変更不可リリース](/ja/code-security/concepts/supply-chain-security/immutable-releases)」を参照してください。

<div class="ghd-tool webui">

1. GitHub で、リポジトリのメイン ページに移動します。
2. ファイルの一覧の右側にある **\[リリース]** をクリックします。

   ![リポジトリのメイン ページのスクリーンショット。 \[リリース\] というラベルの付いたリンクがオレンジ色の枠線で強調表示されています。](/assets/images/help/releases/release-link.png)
3. 編集したいリリースの横で、<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-pencil" aria-label="Edit" role="img"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path></svg> を選びます。

   ![リリース一覧内のリリースのスクリーンショット。 鉛筆アイコンがオレンジ色の枠線で強調表示されています。](/assets/images/help/releases/edit-release-pencil.png)
4. フォーム内でリリースの詳細を編集し、 **\[リリースの更新]** をクリックします。 説明に含まれるGitHubユーザーの @mentions を追加または削除すると、それらのユーザーはリリースの **Contributors** セクションのアバター リストに追加または削除されます。

</div>

<div class="ghd-tool cli">

1. リリースを編集するには、`gh release edit` サブコマンドを使用します。
   `TAG` を、編集するリリースを表すタグに置き換えます。 たとえば、リリースのタイトルを編集するには、次のコードを使用して、`NEW-TITLE` を更新されたタイトルに置き換えます。

   ```shell
   gh release edit TAG -t "NEW-TITLE"
   ```

   使用できる引数の詳細については、[GitHub CLIマニュアルを](https://cli.github.com/manual/gh_release_edit)参照してください。

</div>

## リリースの削除

<div class="ghd-tool webui">

1. GitHub で、リポジトリのメイン ページに移動します。
2. ファイルの一覧の右側にある **\[リリース]** をクリックします。

   ![リポジトリのメイン ページのスクリーンショット。 \[リリース\] というラベルの付いたリンクがオレンジ色の枠線で強調表示されています。](/assets/images/help/releases/release-link.png)
3. ページの右側で、削除するリリースの横にある \[ <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-trash" aria-label="Delete" role="img"><path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path></svg>] をクリックします。

   ![リリース一覧内のリリースのスクリーンショット。 ごみ箱アイコンがオレンジ色の枠線で強調表示されています。](/assets/images/help/releases/delete-release-trash.png)
4. **\[このリリースを削除]** をクリックします。

</div>

<div class="ghd-tool cli">

1. リリースを削除するには、`gh release delete` サブコマンドを使用します。
   `tag` を削除するリリースのタグに置き換えます。 確認をスキップするには、`-y` フラグを使用します。

   ```shell
   gh release delete TAG -y
   ```

</div>