Git・GitHub・GitHubにあげる

GitHub Pagesで公開する

GitHubに置いたリポジトリは、設定を数クリックするだけでそのままWebサイトになります。公開手順・URLの形・pushするたび自動で更新される仕組みと、真っ白になったときの原因を解説します。

GitHubに置いたリポジトリは、設定を数クリックするだけでそのままWebサイトになります。これがGitHub Pagesです。サーバーを借りる必要も、ファイルを転送する必要もありません。

公開の手順

前の回でpushしたリポジトリを使います。

  1. GitHubで自分のリポジトリを開く
  2. 上のメニューからSettings(設定)
  3. 左メニューのPages
  4. Sourceで「Deploy from a branch」を選ぶ
  5. Branchmain、フォルダは/ (root)を選んでSave

これだけです。少し待ってページを再読み込みすると、画面の上のほうに公開URLが表示されます。

https://ユーザー名.github.io/リポジトリ名/

このURLを開いて、自分のページが出れば公開完了です。世界中のどこからでも見られる状態になりました。

更新のしかたは「pushするだけ」

いちど公開してしまえば、あとは手元で直してpushするだけで自動的に反映されます。

git add .
git commit -m "自己紹介の文章を書きかえた"
git push

ファイルを転送する作業がない——これがGitとつなげて公開する最大の利点です。「直す→記録する→勝手に公開される」という流れになります。

真っ白・404になったときの3つの原因

うまく表示されないときは、上から順に確認してください。

1. index.htmlが一番上にない

GitHub Pagesは、リポジトリの一番上の階層にあるindex.htmlをトップページとして表示します。

my-site/
├── index.html   ← ここにある必要がある
├── style.css
└── images/

src/index.htmlのように下の階層に入れていると、トップページが見つからず404になります。

2. ファイル名の大文字小文字が違う

これがいちばん多い原因です。WindowsやMacの手元の環境では大文字小文字を区別しないため、Style.cssと書いても手元では表示されます。ところがGitHub Pagesのサーバーは厳密に区別するので、そこで初めて崩れます。

<!-- 手元では動くが、公開すると読みこめない -->
<link rel="stylesheet" href="Style.css">
<img src="images/Shima.PNG">

ファイル名は全部小文字にそろえておくのが安全です。

3. パスが絶対パスになっている

先頭が/で始まるパスは「サイトの一番上から」という意味になります。GitHub PagesのURLはリポジトリ名を挟むので、これがずれる原因になります。

<!-- ずれる -->
<link rel="stylesheet" href="/style.css">

<!-- 安全 -->
<link rel="stylesheet" href="style.css">
べんりワザパスの読み方・書き方パスの書き方でつまずいたときは、こちらの記事で整理できます

公開したくないものが混ざっていないか

公開リポジトリは、中身がすべて誰にでも見えます。HTMLだけでなく、フォルダに置いたメモやテスト用の画像も同じです。公開の前に一度、リポジトリの中身をGitHubの画面で眺めてみてください。

Git・GitHub.gitignore——記録しないものを決める入れてはいけないものを最初から外しておく方法はこちら

他の公開方法との違い

GitHub PagesNetlify・Cloudflare Pages
向いている場面すでにGitHubに置いているGitを使わずすぐ公開したい
公開のしかた設定を数クリックフォルダをドラッグ&ドロップでも可
更新pushで自動ドラッグ&ドロップ、またはpushで自動

Gitを覚えたなら、GitHub Pagesがいちばん手間が少ない選択肢です。

べんりワザ作ったサイトをネットに公開する方法ドラッグ&ドロップで公開する方法も含めた比較はこちら1

このレッスンのまとめ

  1. Settings → Pages → ブランチをmainにして保存するだけで公開できる
  2. 更新はgit pushするだけ。転送作業がいらない
  3. 表示されないときはindex.htmlの場所・ファイル名の大文字小文字・パスの3つを確認する

よくある質問

GitHub Pagesは無料ですか?
無料です。公開(Public)リポジトリであれば、個人アカウントでも費用はかかりません。
公開したのにページが真っ白/404になるのはなぜ?
多くはindex.htmlがリポジトリの一番上の階層にないか、ファイル名の大文字小文字が違うためです。GitHub Pagesは大文字と小文字を厳密に区別します。
公開したページを更新するにはどうしますか?
手元で直してgit pushするだけです。数十秒から数分で自動的に反映されます。