Auf dieser Seite

Branch-Stacks und Veröffentlichung

Ein Stack verteilt zusammengehörige Arbeit auf eine Kette von Branches. Jede Ebene hängt von der vorherigen ab, sodass kleinere Änderungen geprüft werden können. Riff trennt das Ordnen der Branches auf Ihrem Rechner von ihrer Veröffentlichung beim Anbieter.

Einen linearen Stack aufbauen

Öffnen Sie Stacks für das aktive Repository. Wählen Sie einen vorhandenen Branch oder erstellen Sie eine Ebene und wählen Sie den übergeordneten Branch. Zum Beispiel:

Ebene Übergeordneter Branch
feature/data main
feature/api feature/data
feature/ui feature/api

Erstellen Sie die Änderungen jeder Ebene auf dem zugehörigen Branch. Beim Zuordnen eines vorhandenen Branches muss der aktuelle Commit des übergeordneten Branches ein Vorfahr sein. Speichern Sie die Beziehung, bevor Sie den übergeordneten Branch erweitern oder umschreiben. Das Entfernen der Zuordnung behält Branch und Commits bei; lösen Sie zuerst die abhängigen Ebenen.

Riff unterstützt eine lineare Kette mit bis zu 25 Ebenen und bis zu 200 Commits pro Ebene. Eine zugeordnete Ebene kann einen Nachfolger in der Kette haben. Merge-Commits, Zyklen und unvereinbare Abstammungen werden abgelehnt.

Restack prüfen und ausführen

Restack wendet die Commits jeder Ebene auf ihren aktualisierten übergeordneten Branch an.

  1. Sichern Sie ausstehende Änderungen in einem Commit oder Stash und beenden Sie laufende Git-Operationen. Beteiligte Branches müssen verfügbar sein und dürfen nicht in einer anderen Worktree ausgecheckt sein.
  2. Verhindern ignorierte Dateien die Operation, verschieben Sie sie aus dem Arbeitsverzeichnis und prüfen Sie das Repository erneut. Riff löscht diese Dateien nicht und legt sie für Restack nicht automatisch in einem Stash ab.
  3. Wählen Sie eine Ebene und laden Sie die Vorschau. Prüfen Sie die gesamte Kette, die übergeordneten Branches, Commit-Anzahlen und Hinweise auf veröffentlichten Verlauf. Der Hinweis nutzt bereits auf Ihrem Rechner vorhandene Remote-Referenzen; er ist keine neue Serverabfrage.
  4. Bestätigen Sie den geprüften Plan. Riff sichert Wiederherstellungsreferenzen vor dem Umschreiben und prüft Branches und Commits erneut. Hooks und konfigurierte Signaturen bleiben aktiv.

Restack führt keinen Push aus. Das Umschreiben bereits veröffentlichter Branches kann eine separate Entscheidung über den Remote-Verlauf erfordern. Der folgende Veröffentlichungsablauf erzwingt keinen Push.

Konflikte fortsetzen oder die Folge stoppen

Öffnen Sie jede Konfliktdatei im Stack-Dialog, prüfen und speichern Sie das Ergebnis. Setzen Sie die Operation fort, nachdem die übrigen Konflikte gelöst sind. Die gespeicherte Sitzung kann nach einem Neustart von Riff fortgesetzt werden, sofern das Repository noch dazu passt.

Weitere Ebenen stoppen behält abgeschlossene Ebenen bei. Beenden Sie während eines Konflikts die aktuelle Auflösung und setzen Sie einmal fort, damit der Stopp nach dieser Ebene greift. Dies setzt nicht den gesamten Stack zurück. Hat ein anderer Prozess das Repository geändert oder lässt sich ein unterbrochener Schritt nicht bestätigen, prüfen Sie den Zustand und die erhaltenen Wiederherstellungsreferenzen.

Verknüpfte Pull Requests veröffentlichen

  1. Öffnen Sie den Veröffentlichungsbereich von Stacks und wählen Sie Remote und eine passende Verbindung zum Anbieter. Jede Ebene muss Commits enthalten, auf ihrem aktuellen übergeordneten Branch basieren und einen normalen Push erlauben. Die Remote-Basis muss der geprüften Basis entsprechen.
  2. Laden Sie die Veröffentlichungsvorschau. Prüfen Sie Quellbranch, Zielbranch, Commit, Titel und Beschreibung. Der erste Pull Request zielt auf die Basis, jeder weitere auf die vorherige Ebene.
  3. Bestätigen Sie die Veröffentlichung. Riff sendet die geprüften Revisionen und erstellt die Anfragen der Reihe nach. Ein passender vorhandener Pull Request wird wiederverwendet. Eine unvollständige Abfrage beim Anbieter belegt nicht, dass keine Anfrage existiert.
  4. Lesen Sie das Ergebnis jeder Ebene und öffnen Sie die Links zum Anbieter für die weitere Review.

Die gewählte Verbindung liefert die Berechtigungen für die Anbieter-API. Git-Operationen über HTTPS nutzen die gewählten Zugangsdaten; SSH behält Ihre konfigurierte SSH-Authentifizierung. Der Ablauf führt keine Merges aus, löscht keine Branches, aktualisiert keine Submodule und erzwingt keinen Push bei abweichendem Verlauf.

Eine teilweise Veröffentlichung fortsetzen

Der Fortschritt wird pro Ebene gespeichert. Pausieren stoppt die nächsten Schritte und behält bereits veröffentlichte Branches und Anfragen bei. Setzen Sie nach dem Beheben einer bestätigten Verbindungs- oder Berechtigungsablehnung fort. Riff prüft Repository, Identität und Remote-Zustand erneut.

Ein Ergebnis kann ungewiss sein, wenn der Anbieter die Anfrage erhalten hat, aber die Antwort verloren ging. Riff prüft den Anbieter vor dem Fortsetzen und wiederholt die Erstellung nicht automatisch, nur weil eine Anfrage in einer Abfrage fehlt. Prüfen Sie den Anbieter und den angezeigten Status. Eine ungewisse Sitzung kann über den normalen Ablauf nicht verworfen werden. Die Veröffentlichung ist keine gemeinsame Transaktion über Git und den Anbieter hinweg.

Siehe Konflikte und Wiederherstellung für Rückkehrpunkte oder Arbeitskontexte für Worktrees und Sitzungskontexte.