# Git への公開

ファイルの差分を確認し、コミットやプルリクエストで公開します。

## 保存と公開は別の操作

明示的に公開するまで、下書きはコンテンツスペースに保存されます。保存してもリポジトリは変わりません。公開したコンテンツは、通常のファイルとして書き込まれます。

ナビゲーションの配置も同じです。保存した変更は、確認済みのファイルを公開するまで Prosefly に残ります。

## 差分を確認する

エディターから公開前レビューを開きます。ナビゲーション設定を含め、影響するすべてのファイルを確認してください。リポジトリ、対象ブランチ、ファイルパス、公開方法も確認します。

タイトルと Markdown の説明が提案され、送信前に編集できます。公開処理中に加えた新しい変更が、確認済みの内容に勝手に含まれることはありません。

<figure>
  <img
    src="/images/screenshots/publishing/commit-review.png"
    alt="コミット方式の公開。差分、リポジトリ、対象ブランチを確認して Sync to Git を選択。"
    width="2880"
    height="1620"
    loading="lazy"
  />
  <figcaption>
    コミット方式では、差分、リポジトリ、対象ブランチを確認して Sync to Git を選びます。
  </figcaption>
</figure>

## 本文とナビゲーションを一緒に確認する

対応するナビゲーションの変更がある場合、並び順を管理する文書の frontmatter や、影響する標準ナビゲーションの設定ファイルがレビューに含まれます。**Changes** で差分を1つずつ確認し、**Files** で対象ファイルの一覧を確認します。

ページが意図した場所に配置されるか確認してください。調整する場合は **Continue editing navigation** を選び、配置を更新してからレビューを開き直します。

### Starlight

この Starlight の例には 2 ファイルの変更が含まれます。`css-and-tailwind.mdx` に `sidebar.order: 2` を追加して自動生成ページの順序を変更し、`astro.config.mjs` で手動のサイドバー設定を変更しています。プルリクエストの作成前に、両方の差分を確認できます。

<figure>
  <img
    src="/images/screenshots/starlight/navigation-review.png"
    alt="css-and-tailwind.mdx への sidebar.order: 2 の追加と、astro.config.mjs の手動サイドバー変更を表示する Starlight の公開確認画面。対象は 2 ファイルです。"
    width="2880"
    height="1620"
    loading="lazy"
    decoding="async"
  />
  <figcaption>
    自動生成ページの並び順と手動サイドバー設定の変更を、同じ公開で確認できます。
  </figcaption>
</figure>

### Lotus・Dahlia

<figure>
  <img
    src="/images/screenshots/prosefly/navigation-review.png"
    alt="troubleshooting.mdx の本文と theme.config.json のナビゲーションの差分を確認。変更ファイル2件とプルリクエスト作成操作を表示。"
    width="3154"
    height="1859"
    loading="lazy"
  />
  <figcaption>
    Prosefly docsNav の例。troubleshooting.mdx と theme.config.json
    を一緒に確認します。既存のグループで connect-github を content-ownership
    の後ろに移動し、両方の変更をプルリクエストに含めます。
    <br />
    <a
      href="/images/screenshots/prosefly/navigation-review.png"
      target="_blank"
      rel="noopener noreferrer"
    >
      原寸の画像を見る
    </a>
  </figcaption>
</figure>

### Fumadocs

Fumadocs では、影響する `meta.json` のページ一覧を MDX 文書と一緒に確認します。

## 公開方法を選ぶ

- **Commit**：確認した変更を、設定済みの対象ブランチに書き込みます。
- **Pull request**：確認した変更を含むブランチと GitHub PR を作ります。対象ブランチは、その PR のマージ時に更新されます。

**Space settings → Publishing** で公開方法を選びます。同じコンテンツスペースの全項目に適用されます。GitHub App の書き込み権限とブランチ保護で、その方法が許可されている必要があります。

<figure>
  <img
    src="/images/screenshots/publishing/settings.png"
    alt="Space settings の Publishing タブ。Publish mode メニューに Commit と Pull request を表示。"
    width="2880"
    height="1620"
    loading="lazy"
  />
  <figcaption>
    Space settings → Publishing
    で選びます。メッセージのテンプレートも設定でき、空欄なら自動の文章を使います。
  </figcaption>
</figure>

<figure>
  <video
    src="https://media.prosefly.com/_video/prosefly-pull-request.mp4"
    width="1920"
    height="1080"
  ></video>
  <figcaption>差分の確認から、プルリクエストのマージまで。</figcaption>
</figure>

## 結果を確認する

Publish history には、GitHub の結果へのリンク、送信者、公開先、状態が表示されます。PR は最初はマージ待ちです。未解決の PR は履歴を更新して確認します。バックグラウンドで継続的に確認するわけではありません。

Git への公開は、サイトのデプロイそのものではありません。想定するブランチに変更が届いた後、既存のビルドとホスティングの仕組みがデプロイします。

<figure>
  <img
    src="/images/screenshots/publishing/history.png"
    alt="各公開の GitHub へのリンクと、最新の状態を表示する Publish history。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>Publish history から、GitHub の結果と最新の状態を確認できます。</figcaption>
</figure>

## 外部での変更に対応する

下書きの作業中に Git の基準が変わった場合は、元の基準、現在の Git の内容、下書きを比較します。競合を解決してから再度公開してください。Prosefly が並行した変更を強制的に上書きしたり、競合する文書を自動マージしたりすることはありません。

外部で変更した後は、スキャンでインデックスを更新します。公開とスキャンは別の操作です。

## Public ファイルと翻訳を含める

文書が新しい未公開の [Public 画像](/docs/ja/public-files/)を参照している場合、その画像が必須のファイルとしてレビューに含まれます。本文と画像を一緒に確認してください。同じスペースのほかの Public の下書きも、まとめて追加できます。

検出できるのは、対応する静的な画像参照です。動的な MDX の式は評価せず、JSON・YAML リソースの文字列からは画像の下書きを自動追加しません。その場合は、参照するコンテンツより先に画像を公開してください。

関連する[言語の下書き](/docs/ja/languages-and-translation/)も一緒に確認できます。翻訳で自動公開はされません。各ファイルを確認し、今回の公開に含めるものを確定してください。
