Jedes GitHub-Repository kann eine GitHub Pages- Website haben ( oder sein ) , die mit Jekyll erstellt werden kann. GitHub erstellt die Site jedes Mal, wenn Sie ein neues Commit ausführen.
Gibt es eine Möglichkeit, die Aktualisierung der Github Pages-Website zu erzwingen, ohne ein neues Commit zu erzwingen?
github-pages
Pierre Prinetti
quelle
quelle
Antworten:
Vom GitHub-Support, 07.06.2014:
Bearbeiten:
Wie Andy in den Kommentaren betonte, können Sie mit dem Befehl ein leeres Commit drücken:
Bearbeiten 2:
Dank GitHub Actions ist es ziemlich einfach, eine tägliche Veröffentlichung auszulösen: https://stackoverflow.com/a/61706020/4548500 .
quelle
git log
Wenn Sie eine schnelle Skriptlösung wünschen, finden Sie diese hier. Führen Sie die folgenden Aufgaben nur einmal aus und führen Sie das Skript aus, wenn Sie Ihre GitHub-Seite neu erstellen möchten.
1. Erstellen Sie ein persönliches Zugriffstoken für die Befehlszeile:
Settings > Developer settings > Personal access tokens > Generate new token
.repo
Bereich an.2. Erstellen Sie das folgende Skript:
Erstellen Sie eine Datei mit dem Namen
RebuildPage.sh
und fügen Sie die Zeilen hinzu:Hier,
yourname
durch Ihren GitHub-Benutzernamen.yourtoken
durch Ihr kopiertes persönliches Zugriffstoken.yourrepo
durch Ihren Repository-Namen.3. Führen Sie das Skript aus:
Wenn Sie Windows 10 verwenden:
#!/bin/bash
) aus dem Skript und speichern Sie das Skript unterRebuildPage.bat
. (dh ersetzt.sh
mit.bat
in der Skriptdatei Namen)Alternative zum obigen Punkt: So erhalten Sie die Doppelklickfunktion zum Ausführen der
.sh
Datei:bash.exe
als Standardprogramm für.sh
Dateien.Öffnen
regedit.exe
und bearbeitenHKEY_CLASSES_ROOT\Applications\bash.exe\shell\open\command
. Stellen Sie den(Default)
Wert auf:Doppelklicken Sie nun auf das Skript, wenn Sie Ihre GitHub-Seite neu erstellen möchten. Getan!
Wenn Sie Linux / Mac verwenden, entspricht das Ausführen des Skripts dem Ausführen anderer Skripts. Getan!
Zusätzliche Hinweise zur Lösung:
Diese Lösung verwendet eine API der GitHub REST API v3. Hier ist die offizielle Dokumentation für die API.
quelle
Ich hatte dieses Problem für eine Weile und das Drücken auf den Hauptzweig änderte
myapp.github.io
aus zwei Gründen nichts :1 - Bauen
Egal wie oft ich versuchte, meine Arbeit auf Master zu übertragen, der Build wurde nicht gestartet. Ich habe eine Problemumgehung gefunden, indem ich meine Datei im Github-Online-Editor geändert habe (öffne deine index.html und bearbeite sie auf der Github-Website, dann schreibe sie fest).
2 - Caching-Probleme
Selbst nach einem erfolgreichen Build würde ich immer noch genau dieselbe Seite sehen
myapp.github.io
, und ein hartes Nachladen mitCtrl + Shift + R
würde es nicht lösen. Wenn Sie Chrome verwenden, überprüfen Sie stattdessen Ihre Seite, gehen Sie zurApplication
Registerkarte, wählen Sie im linken Menü "Speicher löschen" und klicken Sie unten im Menü auf "Site-Daten löschen".quelle
Nachdem GitHub-Aktionen verfügbar sind, ist dies trivial:
Beispiel für ein Repo, das dies tut: https://github.com/SUPERCILEX/personal-website/actions
Seiten-API: https://developer.github.com/v3/repos/pages/#request-a-page-build
quelle
Selbst nachdem ich meine Änderungen in das GitHub-Repository übertragen hatte, konnte ich die Änderungen heute nicht sehen. Dann überprüfte ich meine Repository-Einstellungen auf weitere Informationen, dort konnte ich sehen, dass der Build all diese Male fehlschlug und das war der Grund, warum ich die Änderungen nicht sehen konnte.
Möglicherweise wird auch die Meldung "Ihre Website hat Probleme beim Erstellen: Seite kann nicht erstellt werden. Bitte versuchen Sie es später erneut." Angezeigt.
Dann überprüfte ich meine letzten Commits und versuchte herauszufinden, was dieses Problem verursacht. Am Ende konnte ich das Problem beheben.
Die Tags (,) enthielten ein zusätzliches Komma, das dieses Problem verursachte .
Sie erhalten keine relevanten Fehlermeldungen, wenn in Ihrer MD-Datei Probleme auftreten. Ich empfehle Ihnen, den Build-Status zu überprüfen und die Änderungen zu vergleichen, wenn Sie auf dasselbe Problem stoßen.
quelle
Das leere Commit hat bei mir nicht funktioniert, aber basierend auf der Antwort von @benett hat dies bei mir funktioniert:
Öffnen Sie Postman, erstellen Sie eine neue Anfrage mit dieser URL: https://api.github.com/repos/[user_name‹/[repo_name‹/pages/builds (durch Ihren Namen und Ihr Repo ersetzen) und wählen Sie die POST-Methode.
Bevor Sie es ausführen, gehen Sie zur
headers
Registerkarte und fügen Sie einen neuen SchlüsselAccept
mit dem Wert hinzuapplication/vnd.github.mister-fantastic-preview+json
Jetzt können Sie es ausführen und Ihre Seiten erneut besuchen.
quelle
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3/repos/pages/#request-a-page-build" }
. Vielleicht, weil mein Repo privat ist?Dies ist ab Version 3 der GitHub-API möglich
, befindet sich jedoch derzeit in der Vorschauhttps://developer.github.com/v3/repos/pages/#request-a-page-buildquelle
Alternative Lösung
Möglicherweise haben Sie eine E-Mail von GitHub erhalten, in der Sie darüber informiert werden, dass es Jekyll nicht gelungen ist, Ihre Website zu erstellen, als Sie sie an Ihre Website gesendet haben
gh-pages
. In diesem Fall können Sie versuchen, Push zu erzwingen, um einen weiteren Build auszulösen.Wenn Sie einen dedizierten Ordner für die endgültige Website verwenden, beispielsweise einen
public
Ordner, können Sie versuchen, Ihren Ordner neu zu erstellen und den Ordner zu Ihren festgeschriebenen Änderungen hinzuzufügen. Danach müssen Sie diese Datei in Ihrengh-pages
Zweig aufteilen und sie zwingen, einen weiteren Build auszulösen, auch wenn sich die Dateien überhaupt nicht geändert haben. Der Rest des folgenden Codes entfernt lediglich die Commits für denpublic
Ordner und entfernt ihn aus dem lokalen Dateisystem.Code
Tipps
Wenn nicht festgeschriebene Änderungen nicht Teil der endgültigen Site sind, können Sie sie mit dem folgenden Befehl speichern.
Führen Sie dann den obigen Befehl aus, um den Jekyll-Build manuell zu erzwingen und zu entstauen.
Verweise
quelle