KEPLIN Docs

Historie und Merge

Die Historie einer App lesen, eine Änderung rückgängig machen, einen alten Stand zurücksetzen und mit dem selektiven Merge Elemente aus einer Version in eine andere holen.

Alles, was in einer App gespeichert wird, wird aufgezeichnet. Die Historie antwortet auf drei Fragen — was sich geändert hat, wer es geändert hat und wann — und bietet zwei Wege zurück. Der selektive Merge macht das Gegenteil: Er bringt Änderungen von einer Version in eine andere, Element für Element, ohne das zu vermischen, was man nicht will.

Die Historie öffnen

  1. Öffnen Sie die App und klicken Sie auf die Schaltfläche für die Versionen in der Kopfzeile der App-Leiste.
  2. Klicken Sie in der Zeile der Version, die Sie untersuchen wollen, auf das Uhrsymbol — Die Historie dieser Version ansehen.
  3. Es öffnet sich ein Tab Historie von … im Arbeitsbereich.

Das Panel Historie einer Version, mit einem Commit pro Zeile
Das Panel Historie einer Version, mit einem Commit pro Zeile

Jede Zeile ist ein Commit und liest sich von links nach rechts:

Element Was es ist
Der farbige Strich Der Zweig, zu dem der Commit gehört. Verschiedene Versionen haben verschiedene Farben, und die Zeichnung zeigt, wo sie sich getrennt haben.
Die Markierungen (main, 1.1) Die Versionen, in denen jener Commit steckt. Ein Commit vor der Trennung erscheint in beiden.
Der Satz Was gespeichert wurde — „Tema da app alterado“ (Theme geändert), „Ecrã "Contas" gravado“ (Bildschirm gespeichert), „Script "importar" criado“ (Skript erstellt).
Die Zahl Wie viele Dateien der Commit berührt hat.
Der Kurzcode Die Kennung des Commits.
Der Name Wer gespeichert hat.
Das Datum Wann.

Klicken Sie auf eine Zeile, um sie zu öffnen und zu sehen, was berührt wurde: die Liste der Elemente, jedes mit der Markierung dessen, was ihm geschehen ist — Erstellt, Geändert, Gelöscht oder Umbenannt. Ein Commit ohne gespeichertes Detail sagt „In diesem Commit wurden keine Dateien aufgezeichnet.“

Nota

Die Commits von vor der Erstellung einer Version gehören allen Versionen, die von ihr abstammen. Wenn es viele hintereinander sind, fasst das Panel sie in einer Zeile zusammen — „N Änderungen, die allen Versionen gemeinsam sind — ausklappen“ —, damit die Zeichnung nicht unlesbar wird. Klicken Sie, um sie zu öffnen.

Die Historie eines Elements ansehen

Das Panel der Historie öffnet sich auch mit dem Fokus auf ein einzelnes Element, wenn Sie die Geschichte eines Bildschirms und nicht die der ganzen App wollen. Dann zeigt die Liste nur die Commits, die es berührt haben, und eine App ohne Änderungen an diesem Element sagt „Für dieses Element wurden keine Änderungen aufgezeichnet.“

Rückgängig: eine Änderung zurücknehmen

Rückgängig machen erzeugt einen neuen Commit, der einen alten aufhebt. Es dient dazu, eine Änderung aus der Mitte zu nehmen, ohne wegzuwerfen, was danach kam.

  1. Fahren Sie in der Historie mit der Maus über die Zeile des Commits.
  2. Klicken Sie rechts auf das Drei-Punkte-Symbol — Aktionen des Commits.
  3. Wählen Sie Diese Änderung rückgängig machen.
  4. Bestätigen Sie unter „Diese Änderung rückgängig machen?“ — „Erstellt einen NEUEN Commit, der «…» rückgängig macht. Die Historie wird nie umgeschrieben — das Rückgängige rückgängig zu machen ist ein weiterer Schritt nach vorn.“
  5. Die Bestätigung sagt „Änderung rückgängig gemacht — neuer Commit in der Historie.“

Das Aktionsmenü eines Commits, mit Diese Änderung rückgängig machen und App auf diesen Stand zurücksetzen
Das Aktionsmenü eines Commits, mit Diese Änderung rückgängig machen und App auf diesen Stand zurücksetzen

Zurückgehen: einen Stand zurücksetzen

Zurücksetzen ist radikaler: Es schreibt den Inhalt eines alten Augenblicks über den aktuellen Entwurf.

  1. Wählen Sie im selben Menü Aktionen des Commits die Option App auf diesen Stand zurücksetzen.
  2. Bestätigen Sie unter „Die App auf diesen Stand zurücksetzen?“ — „Schreibt den Inhalt von … über das aktuelle Design und committet ERNEUT. Alles, was danach kam, wird rückgängig gemacht — bleibt aber in der Historie.“
  3. Die Bestätigung sagt „Stand zurückgesetzt — neuer Commit in der Historie.“ Wäre die App schon genau in diesem Stand, speichert die Plattform nichts und weist darauf hin: „Die App ist bereits genau in diesem Zustand — nichts zu committen.“

Dica

Die Regel gilt für beide Aktionen: Die Historie wird nie umgeschrieben. Weder Rückgängigmachen noch Zurücksetzen löschen Commits — beide fügen einen hinzu. Deshalb kann man immer wieder zurückgehen: Das Rückgängige rückgängig zu machen ist ein weiterer Schritt nach vorn.

Selektiver Merge: aus einer anderen Version holen

Wenn die Arbeit einer Version bereit ist, in eine andere einzugehen, holt der selektive Merge die Elemente, die Sie auswählen — und nur diese.

  1. Öffnen Sie das Menü Versionen in der Kopfzeile der App.
  2. Klicken Sie auf Selektiver Merge…. (Die Option wird erst ab zwei Versionen aktiv; mit nur einer gibt es nichts, woraus man holen könnte.)
  3. Es öffnet sich das Fenster Selektiver Merge, mit der Erklärung: „Elemente aus einer anderen Version in die Version «main» übernehmen. Der Merge übernimmt und aktualisiert — er löscht nie; die Referenzen werden vor dem Commit geprüft.“
  4. Wählen Sie die Quellversion im Auswähler oben.
  5. Die Liste füllt sich mit den Elementen dieser Version, nach Kategorie gruppiert.

Das Fenster Selektiver Merge, mit der Quellversion und den nach Kategorie gruppierten Elementen
Das Fenster Selektiver Merge, mit der Quellversion und den nach Kategorie gruppierten Elementen

Die Kategorien sind die Bauteile der App: Bildschirme, Layouts, Widgets, Systembildschirme, Navigation, Modell, Enums, APIs, Datenquellen, Skripte, Zeitpläne, Trigger, Berichte, Prozesse, Berechtigungen, Übersetzungen, Theme, Assets, Speicher, Kanäle und Einstellungen der App.

  1. Haken Sie an, was Sie übernehmen wollen. Der Zähler oben geht mit — „3 ausgewählt“.
  2. Verwenden Sie das Feld Elemente suchen…, um zu filtern, wenn die Liste lang ist.

Die Suche des Merge, die die Elemente einer Kategorie filtert
Die Suche des Merge, die die Elemente einer Kategorie filtert

  1. Klicken Sie auf 3 Element(e) übernehmen.
  2. Die Bestätigung sagt „Merge aus Version 1.1 abgeschlossen — 3 Element(e) übernommen.“, und der Arbeitsbereich lädt neu, schon mit dem, was gekommen ist.

Was der Merge tut — und was er nie tut

Er tut Er tut nie
Er übernimmt Elemente, die in der Zielversion nicht existierten Er löscht das, was in der Zielversion existiert und nicht ausgewählt war
Er aktualisiert die, die schon existierten, mit der Fassung aus der Quelle Er rührt an die Daten — der Merge betrifft den Entwurf, nicht die Tabellen
Er prüft die Referenzen vor dem Commit Er mischt Versionen automatisch: Nichts bewegt sich, ohne dass jemand es anhakt

Diese letzte Zeile ist das Sicherheitsnetz. Wenn das, was Sie ausgewählt haben, auf irgendetwas zeigt, das im Ziel nicht existiert — ein Bildschirm, der ein Widget verwendet, das nicht mitgekommen ist —, committet der Merge nicht und erklärt: „Der Merge wurde nicht committet — der entstandene Baum hatte kaputte Referenzen:“, mit der Liste der Probleme. Holen Sie auch das Fehlende und wiederholen Sie.

Atenção

Der Merge löscht nicht. Wenn Sie in der Quellversion einen Bildschirm gelöscht haben, löscht der Merge ihn im Ziel nicht — er übernimmt und aktualisiert nur. Löschen bleibt ein ausdrücklicher Akt, ausgeführt in der Version, in der gelöscht werden soll.

Häufige Fragen

  • Übernimmt der Merge die Daten? Nein. Er übernimmt den Entwurf. Die Tabellen, die Datensätze und die Dateien jeder Version gehören ihr.
  • Kann ich in beide Richtungen mergen? Ja. Der Merge heißt immer „in die Version übernehmen, in der ich bin“ — wechseln Sie die Version und gehen Sie den umgekehrten Weg.
  • Eine Änderung einer anderen Person rückgängig machen? Das dürfen Sie: Die Aktionen der Historie gelten für jeden Commit der Version, in der Sie sind, ganz gleich, wer der Urheber ist. Sein Name bleibt in der Historie, und Ihrer steht im Commit, der sie aufhebt.
  • Warum ist die Option Selektiver Merge grau? Die App hat nur eine Version. Erstellen Sie eine weitere und die Option leuchtet auf.