すべてのGitHubリポジトリは、 have (- またはbe )a GitHub Pages Jekyllで構築できるWebサイトを作成できます。 GitHubは、新しいコミットをプッシュするたびにサイトを構築します。
新しいコミットをプッシュせずにGithubページWebサイトを強制的に更新する方法はありますか?
GitHubサポートから、2014-06-07:
現在、適切なブランチにコミットをプッシュせずに、手動で再構築をトリガーすることはできません。
Andyがコメントで指摘したように、次のコマンドで空のコミットをプッシュできます。
git commit -m 'rebuild pages' --allow-empty
git Push Origin <branch-name>
私はしばらくこの問題を抱えていましたが、マスターブランチにプッシュしても_myapp.github.io
_で何も変わりませんでした。
1-ビルド
何度マスターに作業をプッシュしようとしても、ビルドは開始されません。 Githubオンラインエディターでファイルを変更して回避策を見つけました(index.htmlを開いてGithub Webサイトで編集し、コミットします)
2-キャッシュの問題
ビルドが成功した後でも、_myapp.github.io
_にまったく同じページが表示されますが、_Ctrl + Shift + R
_でハードリロードしても解決しません。代わりに、Chromeを使用している場合は、ページを調べてApplication
タブに移動し、左側のメニューで[ストレージを消去]を選択し、メニューの下部にある[サイトデータを消去]をクリックします。
簡単なスクリプトソリューションが必要な場合は、こちらをご覧ください。次のタスクを1回だけ実行し、GitHubページを再構築するたびにスクリプトを実行します。
Settings > Developer settings > Personal access tokens > Generate new token
にアクセスする必要があります。repo
スコープにチェックマークを付けます。RebuildPage.sh
というファイルを作成し、次の行を追加します。
#!/bin/bash
curl -u yourname:yourtoken -X POST https://api.github.com/repos/yourname/yourrepo/pages/builds -H "Accept: application/vnd.github.mister-fantastic-preview+json"
ここに、
yourname
をGitHubユーザー名に置き換えます。yourtoken
をコピーした個人アクセストークンに置き換えます。yourrepo
をリポジトリ名に置き換えます。Windows 10を使用している場合:
#!/bin/bash
)を削除し、スクリプトをRebuildPage.bat
として保存します。 (つまり、スクリプトファイル名の.sh
を.bat
に置き換えます)上記のポイントの代替:.sh
ファイルを実行するためのダブルクリック機能を取得するには:
bash.exe
ファイルのデフォルトプログラムとして.sh
を設定します。regedit.exe
を開き、HKEY_CLASSES_ROOT\Applications\bash.exe\Shell\open\command
を編集します。 (Default)
値を次のように設定します。
"C:\Windows\System32\bash.exe" -c " \"./$(grep -oE '[^\\]+$' <<< '%L')\";"
GitHubページを再構築する場合でも、スクリプトをダブルクリックします。完了!
Linux/Macを使用している場合、スクリプトの実行は他のスクリプトの実行と同じです。できた!
このソリューションは、GitHub REST API v3。 Here のプレビューAPIを使用しています。APIの公式ドキュメントです。
空のコミットは私にとってはうまくいきませんでしたが、@ benettの答えに基づいて、これは私にとってはうまくいきました:
Postmanを開き、次のURLで新しいリクエストを作成します: https://api.github.com/repos/ [user_name]/[repo_name]/pages/builds (名前とリポジトリに置き換えて)、POST method。
実行する前に、headers
タブに移動し、値application/vnd.github.mister-fantastic-preview+json
を持つ新しいキーAccept
を追加します
これで、それを実行して、再びページにアクセスできます。
変更をGitHubリポジトリにプッシュした後でも、今日は変更を確認できませんでした。その後、リポジトリの設定で詳細を確認しましたが、ビルドが失敗していたので、変更を確認できませんでした。
「サイトの構築に問題があります:ページを構築できません。しばらくしてからもう一度お試しください」というメッセージが表示される場合もあります。
次に、最近のコミットをチェックして、この問題の原因を見つけようとしました。最後に、問題を修正することができました。
タグ(、)に追加のコンマが含まれていたため、この問題が発生しました。
.mdファイルに問題がある場合、関連するエラーメッセージは表示されません。同じ問題に直面している場合は、ビルドステータスを確認し、変更を比較することをお勧めします。
これはGitHub API v3の時点で実行可能ですが、現在プレビュー中です https://developer.github.com/v3/repos/pages/#request-a-page-build
POST /repos/:owner/:repo/pages/builds
GitHubから、Jekyllがgh-pages
にプッシュしたときにサイトの構築に成功しなかったことを知らせるメールを受信した可能性があります。この場合、Pushに別のビルドをトリガーさせることができます。
最終Webサイト専用のフォルダー(public
フォルダーなど)を使用する場合、フォルダーを再構築して、コミットされた変更にフォルダーを追加することができます。その後、これらのファイルをgh-pages
ブランチに分割し、ファイルがまったく変更されていない場合でも別のビルドをトリガーする必要があります。以下のコードの残りの部分では、便宜上public
フォルダーのコミットを削除し、ローカルファイルシステムから削除します。
git add public
git commit -am ":bug: triggering another jekyll build"
git Push Origin $(git subtree split --prefix public master):gh-pages --force
git reset HEAD~1
rm -rf public
最終サイトの一部ではないコミットされていない変更がある場合は、次のコマンドを使用してそれらを隠します。
git stash
次に、上記のコマンドを実行して、手動でJekyllビルドを強制し、それらをアンスタッシュします。
git stash pop