Ich entwickle ein jQuery-Plugin, das auf GitHub gehostet wird. Es ist eine Demo enthalten, von der ich manuell kopiere und in den Zweig gh-pages
schiebe. Ich möchte sie haben, damit beim Ändern eine Änderung master
automatisch verschoben gh-pages
wird oder zumindest ein Setup, in dem sie gespiegelt werden .
Ich habe diese Frage bereits gesehen, bin mir aber nicht sicher, ob sie meine Frage in Bezug auf diese Anforderungen wirklich beantwortet:
- Ich benutze Tower , es macht mir nichts aus, das Terminal (Mac) zu verwenden, um Änderungen an der Konfiguration vorzunehmen, solange die Lösung mit dieser GUI funktioniert.
- Ich möchte diese "Spiegelung" nur für bestimmte Repos, nicht für alle auf meinem Computer.
Prost
git
github
github-pages
git-tower
Ben Everard
quelle
quelle
/docs
innerhalb des Hauptzweigs gesteuert werden . github.com/blog/2228-simpler-github-pages-publishingAntworten:
quelle
Fügen Sie dem
[remote "origin"]
Abschnitt von die folgenden 2 Zeilen hinzu.git/config
:Jedes Mal, wenn
push
Sie es tun, wird der Master automatisch auch auf Gh-Seiten verschoben. Ich verwende dies für das jQuery Lifestream-Projekt .quelle
.git/config
festlegen?.git/config
Änderungen zu teilen ?Tu nicht, was denbuzze oben vorschlägt !! Durch das Pluszeichen (+) im Push werden Aktualisierungen ohne schnellen Vorlauf stillschweigend akzeptiert. Ich habe auf die harte Tour herausgefunden, dass dies unwiderruflich dazu führen kann, dass Arbeit verloren geht, was zu baumelnden Verpflichtungen führt. Durch einfaches Entfernen der Pluszeichen wird dies sicherer.
Anstatt ein Force-Update zu veranlassen, wird jetzt ein Warn- und Pull-Vorschlag ausgelöst
quelle
Ich füge weitere Erklärungen zu den Antworten von @denbuzze und @MCSDWVL hinzu .
Wenn Sie bei jedem Start sowohl auf
master
als auchgh-pages
automatisch pushen möchtengit push origin
Sie wahrscheinlich der Git-Konfiguration Ihres Repos eine Refspec hinzufügen.Laut dem git-scm-Buch können Sie also zwei RefSpecs hinzufügen , indem Sie
push
der Repo-Konfigurationsdatei zwei Werte hinzufügen.git/config
:Das wird dazu führen
git push origin
, dass:master
Zweig zum entferntenmaster
Zweigmaster
Zweig zum entferntengh-pages
Zweigstandardmäßig.
Hinweis : Wenn Sie ein
+
vor der Spezifikation verwenden, wird ein Druck auf das Repo erzwungen. Verwenden Sie es mit Vorsicht:quelle
gh-pages
, auch diejenigen, die nichts damit zu tun habengh-pages
? Warum macht GitHub das so kompliziert? Wäre es nicht viel einfacher, wenn nur ein Ordner gerendert würdegh-pages
? Hier ist ein Versuch, diese Art von Gh-Pages-Ordner-Setup zu erstellen .Ich persönlich möchte dies in einen Alias einwickeln:
Dies spiegelt Ihren Master
gh-pages
wider, drückt auf Github und schaltet dann den vorherigen Zweig zurück, an dem Sie gearbeitet haben.quelle
Commit und Push to Master ..
dann :
quelle
ODER Sie können einfach das unten stehende cmd verwenden, um Ihren lokalen Hauptzweig zum gh-pages-Hauptzweig zu verschieben.
git push -f origin master:gh-pages
quelle
UPDATE : Mit GitHub können jetzt Seiten aus jedem gewünschten Zweig und Verzeichnis veröffentlicht werden.
Es war viel einfacher für mich, den
gh-pages
Zweig als Master zu verwenden. Es gibt nichts Magisches an "Meister"; Es ist nur ein anderer Filialname. Es ist etwas Magisches gh-Seiten, weil das ist , wo GitHub für index.html sucht Ihre Seite zu dienen.Lesen Sie mehr in meiner anderen Antwort zu diesem Thema .
Die Verwendung
gh-pages
als Master ist auch einfacher als Teilbäume, die einfacher als das Spiegeln sind. Sie könnengit subtree
wie hier oder hier beschrieben verwenden : Wenn Sie ein Verzeichnis haben, das Ihre Demo enthält, können Sie dieses Verzeichnisgh-branch
mit einem Befehl in das Verzeichnis verschieben . Angenommen, Sie benennen das Verzeichnisgh-pages
, um die Dinge klarer zu machen. Nachdem Sie Ihre Änderungen festgeschrieben und übertragen habenmaster
, führen Sie diese aus, um gh-pages zu aktualisieren:Das Problem ist, wenn sich Ihre Dateien
gh-pages
auf Dateien in anderen Verzeichnissen außerhalb beziehen. Symlinks funktionieren nicht, daher müssen Sie Dateien in das Verzeichnis kopieren , das als Gh-Seiten dient.Wenn Sie verwenden
gh-pages
als Master , wird dieses Problem nicht auftreten.quelle