KEPLIN Docs

Cronologia e merge

Leggere la cronologia di un'app, annullare una modifica, ripristinare uno stato precedente, e portare elementi da una versione a un'altra con il merge selettivo.

Tutto quello che si salva in un'app resta registrato. La cronologia risponde a tre domande — cosa è cambiato, chi l'ha cambiato e quando — e offre due modi di tornare indietro. Il merge selettivo fa il contrario: porta modifiche da una versione a un'altra, elemento per elemento, senza mescolare quello che non si vuole.

Aprire la cronologia

  1. Apri l'app e clicca sul pulsante delle versioni, nell'intestazione della barra dell'app.
  2. Sulla riga della versione che vuoi ispezionare, clicca sull'icona dell'orologio — Visualizza la cronologia di questa versione.
  3. Si apre una scheda Cronologia di … nello spazio di lavoro.

Il pannello Cronologia di una versione, con un commit per riga
Il pannello Cronologia di una versione, con un commit per riga

Ogni riga è un commit, e si legge da sinistra a destra:

Elemento Che cos'è
Il tratto colorato Il ramo a cui il commit appartiene. Versioni diverse hanno colori diversi, e il disegno mostra dove si sono separate.
Le etichette (main, 1.1) Le versioni in cui quel commit si trova. Un commit anteriore alla separazione compare in entrambe.
La frase Cosa è stato salvato — "Tema dell'app modificato", 'Schermata "Contas" salvata', 'Script "importar" creato'.
Il numero Quanti file il commit ha toccato.
Il codice breve L'identificatore del commit.
Il nome Chi ha salvato.
La data Quando.

Clicca su una riga per aprirla e vedere cosa è stato toccato: l'elenco degli elementi, ciascuno con il segno di quello che gli è successo — creato, modificato, eliminato o rinominato. Un commit senza dettaglio salvato dice "Nessun file registrato in questo salvataggio."

Nota

I commit anteriori alla creazione di una versione appartengono a tutte le versioni che ne discendono. Quando sono tanti di seguito, il pannello li raggruppa in una riga — "N modifiche comuni a tutte le versioni — espandi" — perché il disegno non diventi illeggibile. Clicca per aprirli.

Vedere la cronologia di un elemento

Il pannello della cronologia si apre anche concentrato su un solo elemento, quando vuoi la storia di una schermata e non quella dell'app intera. Lì, l'elenco mostra solo i commit che l'hanno toccata, e un'app senza modifiche su quell'elemento dice "Questo elemento non ha modifiche registrate."

Annullare: revocare una modifica

Annullare crea un commit nuovo che ne cancella uno precedente. Serve per togliere una modifica di mezzo senza buttare via quello che è venuto dopo.

  1. Nella cronologia, passa il mouse sulla riga del commit.
  2. Clicca sull'icona dei tre puntini a destra — Azioni del commit.
  3. Scegli Annulla questa modifica.
  4. Conferma in 'Annullare questa modifica?' — "Crea un NUOVO commit che annulla «…». La storia non si riscrive — annullare l'annullamento è un altro passo in avanti."
  5. La conferma dice "Modifica annullata — nuovo commit nella cronologia."

Il menu delle azioni di un commit, con Annulla questa modifica e Ripristina l'app a questo stato
Il menu delle azioni di un commit, con Annulla questa modifica e Ripristina l'app a questo stato

Tornare indietro: ripristinare uno stato

Ripristinare è più radicale: scrive il contenuto di un momento passato sopra il design attuale.

  1. Nello stesso menu Azioni del commit, scegli Ripristina l'app a questo stato.
  2. Conferma in 'Ripristinare l'app a questo stato?' — "Scrive il contenuto di … sopra il design attuale e salva di NUOVO. Tutto ciò che è venuto dopo viene annullato — ma resta nella cronologia."
  3. La conferma dice "Stato ripristinato — nuovo commit nella cronologia." Se l'app fosse già esattamente in quello stato, la piattaforma non salva nulla e avvisa: "L'app è già esattamente in quello stato — niente da salvare."

Dica

La regola vale per entrambe le azioni: la storia non si riscrive mai. Né annullare né ripristinare eliminano commit — entrambe ne aggiungono uno. È per questo che si può sempre tornare indietro un'altra volta: annullare l'annullamento è un altro passo in avanti.

Merge selettivo: portare da un'altra versione

Quando il lavoro di una versione è pronto per entrare in un'altra, il merge selettivo porta gli elementi che scegli — e solo quelli.

  1. Apri il menu Versioni nell'intestazione dell'app.
  2. Clicca su Merge selettivo…. (L'opzione si attiva solo a partire da due versioni; con una sola non c'è da dove portare.)
  3. Si apre la finestra Merge selettivo, con la spiegazione: "Trasferisci elementi da un'altra versione nella versione «main». Il merge trasferisce e aggiorna — non elimina mai; i riferimenti vengono validati prima di salvare."
  4. Scegli la Versione di origine nel selettore in alto.
  5. L'elenco si riempie con gli elementi di quella versione, raggruppati per categoria.

La finestra Merge selettivo, con la versione di origine e gli elementi raggruppati per categoria
La finestra Merge selettivo, con la versione di origine e gli elementi raggruppati per categoria

Le categorie sono i pezzi dell'app: Schermate, Layout, Widget, Schermate di sistema, Navigazione, Modello, Enum, API, Datasource, Script, Pianificazioni, Trigger, Report, Processi, Autorizzazioni, Traduzioni, Tema, Asset, Archiviazioni, Canali e Impostazioni dell'app.

  1. Spunta quello che vuoi portare. Il contatore in alto segue — "3 selezionato/i".
  2. Usa la casella Cerca elementi… per filtrare quando l'elenco è lungo.

La ricerca del merge che filtra gli elementi di una categoria
La ricerca del merge che filtra gli elementi di una categoria

  1. Clicca su Trasferisci 3 elemento/i.
  2. La conferma dice "Merge dalla versione 1.1 completato — 3 elemento/i trasferiti.", e lo spazio di lavoro si ricarica già con quello che è arrivato.

Cosa fa il merge — e cosa non fa mai

Fa Non fa mai
Porta elementi che non esistevano nella versione di destinazione Elimina quello che esiste nella versione di destinazione e non è stato selezionato
Aggiorna quelli che esistevano già, con la versione dell'origine Tocca i dati — il merge è del design, non delle tabelle
Valida i riferimenti prima di salvare Mescola versioni automaticamente: niente si muove senza che qualcuno lo spunti

Quest'ultima riga è la rete di sicurezza. Se quello che hai selezionato punta a qualcosa che non esiste nella destinazione — una schermata che usa un widget non portato — il merge non salva e spiega: "Il merge non è stato salvato — l'albero risultante aveva riferimenti interrotti:", con l'elenco dei problemi. Porta anche quello che manca e ripeti.

Atenção

Il merge non elimina. Se nella versione di origine hai eliminato una schermata, il merge non la elimina nella destinazione — porta e aggiorna soltanto. Eliminare resta un atto esplicito, fatto nella versione in cui va eliminato.

Domande frequenti

  • Il merge porta i dati? No. Porta il design. Le tabelle, i record e i file di ogni versione sono suoi.
  • Posso fare merge nei due sensi? Sì. Il merge è sempre "portare nella versione su cui sono" — cambia versione e fai il percorso inverso.
  • Annullare una modifica di un'altra persona? Puoi: le azioni della cronologia valgono per qualunque commit della versione su cui sei, chiunque ne sia l'autore. Il suo nome resta nella cronologia, e il tuo nel commit che la annulla.
  • Perché l'opzione Merge selettivo è grigia? L'app ha una sola versione. Creane un'altra e l'opzione si accende.