Deutsch
Über dieses Handbuch

Dieses Handbuch gehört zu QuartzControl in der Fassung 1.1.0 und erklärt jeden seiner Bildschirme; jeder Bildschirm verweist auf seine Seite hier.

Wie man Notizen schreibt, damit daraus gute Seiten werden, steht im Example-Handbuch.

6.3 – Git-Sync

Git-Sync gleicht das Projekt ab, nicht die Website. Es lädt hoch, was im Projektordner liegt — Konfiguration, Stylesheets, gegebenenfalls die Notizen —, damit ein zweiter Rechner damit weiterarbeiten kann.

Die fertige Website an einen Server zu bringen, ist die Aufgabe von Zielen. Und einen früheren Stand zurückzuholen, ist die Aufgabe von Snapshots. Drei Dinge, drei Seiten.

Git-Sync: der Stand des Repositorys, hier ohne „origin“.

Der Stand des Repositorys

Oben steht, wo das Projekt gerade steht, und die Antworten sind genauer als „alles gut“:

ZustandWas er bedeutet
Auf dem Stand des RemotesNichts zu tun.
n Commits noch nicht hochgeladen / geholtDer übliche Fall.
Keine lokalen Änderungen / n lokale ÄnderungenWas noch nicht committet ist.
n KonflikteEin Pull hat Änderungen gefunden, die sich nicht automatisch zusammenführen ließen. Bis das gelöst ist, geht kein Push.
Kein UpstreamDer Branch hat keine Entsprechung auf dem Server. Wie viele Commits fehlen, lässt sich deshalb nicht sagen — der erste Push legt sie an.
Kein Branch ausgechecktDas Projekt steht auf einem einzelnen Commit. Push und Pull haben so kein Ziel.
Kein Git-RepositoryAuch das ist eine gültige Lage. Sync ist dann hier nicht möglich.
Lesefehlergit konnte den Stand nicht lesen — kein git, ein Ordner, den git verweigert, ein beschädigter Index. Ob es ein Repository ist, lässt sich dann nicht sagen; die Seite zeigt, was git dazu sagt.

Was ein Sync tut

Der Satz steht über den Buttons und ist wörtlich zu nehmen:

Jeder Sync committet zuerst deine Änderungen (falls unten aktiviert), holt dann den Branch von origin und pusht deinen aktuellen Branch per Force-Push.

Drei Punkte daran sind wichtig:

  1. Das Committen ist abschaltbar. Ohne es wird nur der bereits committete Stand bewegt. Die Karte sagt, wie viele lokale Änderungen betroffen wären.
  2. Pull holt immer denselben Branch von origin — unabhängig davon, welcher hier ausgecheckt ist. Steht man auf einem anderen, schlägt der Pull entweder fehl oder mischt Fremdes herein; QuartzControl warnt dann mit beiden Namen.
  3. Der Push ist ein Force-Push. Das ist das Verhalten der Quartz-CLI, und es heißt: Was auf dem Server steht, wird durch den lokalen Stand ersetzt.

Push, Pull und beides zusammen sind drei getrennte Buttons. Ohne „origin“ sind sie gesperrt — sie hätten kein Ziel —, und daneben steht, warum; ebenso in einem Projekt, das kein Repository ist. Bei einem Lesefehler bleiben sie frei, denn dann ist nur unbekannt, ob es ein Ziel gibt.

Ein Repository anlegen

Gibt es noch keines auf GitHub, legt die Karte Repository auf GitHub anlegen eines an und trägt es als origin ein. Dafür braucht es einen Token mit repo-Berechtigung; ohne sagt QuartzControl, wo er hingehört.

Zur Frage öffentlich oder privat siehe 6.2 — im kostenlosen Konto schließen sich privat und Pages aus.

Auf dem zweiten Rechner

Nach dem Klonen fehlen zwei Dinge, die absichtlich nicht im Repository liegen:

  1. Die Abhängigkeiten — der erste Build meldet das.
  2. Die gebauten Plugin-Dateien — zurückzuholen unter Plugins → Wartung.

Und eines fehlt dauerhaft: die Snapshots. Sie gehören zu dieser Kopie auf diesem Rechner.