Lezione 14 · Lavoro quotidiano
Tag, annotazioni e denominazione delle versioni
Crea una v0.1.0 annotata nel commit principale ispezionato e invia solo quel tag all'origine locale. Distinguere un oggetto tag da un ramo, una firma e una versione ospitata.
- Livello: Intermedio
- 6 minuti di lettura
- 4 minuti di video
- Aggiornato
- Prima di questa lezione: Invia commit e pubblica un ramo
Avanzamenti salvati in questo browser.
La riproduzione carica il video da YouTube (modalità ottimizzata per la privacy).
Cosa imparerai
- Crea un tag annotato con un messaggio intenzionale.
- Verifica l'oggetto tag e il commit separato separatamente.
- Invia un tag esplicito senza pubblicazione di tutti i tag.
- Mantieni la creazione dei tag distinta da una versione ospitata.
Prima di iniziare
Inizia da dove è terminata la lezione 13: main/H7 clean, server main H7, funzionalità pubblicata in F1; non esiste alcun tag v0.1.0. La firma del tag demo locale non è esplicitamente richiesta.
Il video è stato registrato con Git 2.52.0 e GitTree 2.0 il Ubuntu 24.04: il tag è stato creato e inserito nell'app; lo stato precedente, il nome duplicato rifiutato e i controlli eseguiti nel terminale. Non è stato eseguito nulla su macOS o Windows e Ubuntu è l'unico sistema Linux registrato. Il Git floor di origine di GitTree è 2.39.0.
GitTree ti chiede di accedere; il piano gratuito copre quindi ogni passaggio qui. Non è necessario alcun account fornitore, Pro/prova, credenziale API o servizio Internet. Un'origine nuda locale non è GitLab o CI. Tutte le identità utilizzano example.com; non eseguire mai questa lezione all'interno di un checkout di origine.
Effettua mutazioni tramite GitTree o il percorso nativo su input identici, non entrambi consecutivamente. È possibile seguire anche la verifica di sola lettura. Qualsiasi preparazione descritta come lavoro terminale è etichettata come preparazione nativa, mai come funzionalità inventata dell'app.
Effetti del concetto e dello stato
Un ramo normalmente avanza con i commit; un tag di rilascio è un nome deliberatamente stabile. Un tag leggero nomina direttamente un oggetto; un tag annotato aggiunge il proprio oggetto tag, tagger e messaggio.
v0.1.0 nomina qui un oggetto tag. v0.1.0^{} lo inserisce nel commit. Sono previsti ID oggetto diversi per questi due livelli e non indicano due versioni.
L'annotazione non è una firma crittografica. Pubblicare un tag Git non significa creare note di rilascio del provider, caricare risorse o distribuire una versione desktop. Nessuna di queste azioni esterne viene eseguita qui.
Crea aggiunge refs/tags/v0.1.0 più un oggetto tag; push aggiunge il tag del server selezionato. HEAD, rami locali, indice e file di lavoro non si spostano.
Preparare lo stato esatto del progetto
Utilizza il main originale dopo la lezione 13. Ispeziona l'effettivo SHA H7 e verifica che il tag sia assente prima di crearlo. Non aggiungere un commit del notebook dopo l'etichettatura.
Tra GitTree
Tavolozza: Comando+Maiusc+P (Ctrl+Maiusc+P su Ubuntu); digitare il comando con il nome esatto e selezionarlo. Le azioni di riferimento con nome utilizzano il menu contestuale di quella riga, non una scorciatoia della tavolozza senza argomenti.
- Seleziona la riga effettiva del grafico principale/H7 (documenti: aggiungi il promemoria di revisione di Leo); conferma la modifica e l'identità del piè di pagina, quindi fai clic con il pulsante destro del mouse.
- Apri Tag Here e scegli Create Annotated Tag Here… (il menu della riga elenca anche un semplice Create Tag Here…, che rende un tag leggero). La finestra di dialogo è intitolata "Crea un tag annotato in" l'ID breve del commit.
- Imposta il nome del tag v0.1.0 e il checkpoint del corso delle funzionalità GitTree utilizzabili per il primo messaggio.
- Sotto Signing le scelte sono Segui configurazione Git, Firma questo tag e Don’t sign this tag; la finestra di dialogo rileva che Git config non firma i tag (tag.gpgSign non è impostato). Seleziona Non firmare questo tag per questa lezione esplicita non firmata; non modificare la configurazione della firma globale.
- Fai clic su Crea tag una volta e attendi; conferma che la v0.1.0 etichetta il commit previsto senza modificare il checkout.
- Nel gruppo Tags del pannello laterale, fai clic con il pulsante destro del mouse su v0.1.0 → Push Tag (lo stesso menu offre anche Elimina tag... e Elimina tag dal telecomando..., che questa lezione non utilizza). L'avviso recita "Pushed tag v0.1.0".
- Verifica il tipo di oggetto tag nativo, il messaggio e il commit peeling più l'identità del tag server; non confondere l'annotazione con la firma.
- Lasciare il main pulito e l'etichetta invariata. Non utilizzare Push All Tags né creare una versione del provider.
Per ogni commit ordinario: Summary è l'oggetto indicato; Descrizione vuota; Modifica commit precedente, Salta hook, Aggiungi autore firmato, Autore diverso, Push dopo commit e Consenti commit vuoto disattivato; nessun coautore. Metti in stage solo i file nominati, quindi applica le modifiche a N file una volta (File per uno) o Comando+Invio come alternativa. Aspetta il risultato reale. Una lezione che modifica esplicitamente cambia solo l'opzione dichiarata.
Nel terminale
Equivalente nativo a clean main:
git tag --annotate --no-sign v0.1.0 --message "First usable GitTree Features course checkpoint"
git cat-file -t v0.1.0
git for-each-ref --format='%(contents:subject)' refs/tags/v0.1.0
git rev-parse 'v0.1.0^{}'
git push --quiet origin refs/tags/v0.1.0
git ls-remote --tags origin refs/tags/v0.1.0 'refs/tags/v0.1.0^{}'
git status --short--annotate ha la forma abbreviata -a (git tag -a v0.1.0 -m "message") e --message è -m; in entrambi i casi Git memorizza un oggetto tag con il proprio messaggio, a differenza del leggero git tag v0.1.0.
Crea/invio con successo; tipo e output del messaggio:
tag
First usable GitTree Features course checkpointLo SHA sbucciato è uguale al principale effettivo. ls-remote restituisce gli ID effettivi dell'oggetto tag e del commit peeled; registrare questi valori variabili, non le etichette del modello. Lo stato finale è vuoto. Tentativo separato di duplicazione del nome:
git tag v0.1.0Stderr effettivo, uscita 128:
fatal: tag 'v0.1.0' already existsL'etichetta originale rimane; non usare mai -f per nascondere la collisione.
Risultato
Where you end: La v0.1.0 annotata esiste localmente e sull'origine nuda locale, messaggio Primo utilizzabile GitTree Caratteristiche checkpoint del corso, commit rimosso H7. Principale/HEAD/indice/lavoro invariato; nessuna versione ospitata o firma richiesta.
Errori comuni
- Chiamare un tag annotato firmato.
- Contrassegnare la vecchia riga selezionata anziché quella principale.
- Spingere involontariamente ogni tag locale.
Se qualcosa va storto
Annulla una creazione errata prima di confermare. Se un tag locale è sbagliato, controlla la sua destinazione effettiva e se è stato pubblicato prima di qualsiasi eliminazione esplicita; Il rifiuto duplicato nativo preserva il rif esistente.
Controlla la tua comprensione
Rispondi a ciascuna domanda, quindi leggi il motivo. Le domande contrassegnate come "Obbligatorio" contano ai fini del completamento della lezione.
0 di 6 corretto
Rispondi correttamente alle domande richieste per completare la lezione.
Controllato in questo browser.
Pratica
Verifica il tag del tipo di oggetto, l'annotazione esatta, lo SHA=main staccato e entrambi i livelli dei tag del server. Prevedi il rifiuto duplicato preservando il primo tag e il lavoro pulito.
La tua conferma: il sito non può vedere il tuo computer.
Per completare la lezione rispondere correttamente alle domande richieste e confermare l'esercizio pratico.
Riepilogo
- L'annotazione aggiunge un oggetto tag.
- Spingi solo il tag scelto.
- I tag Git e le versioni ospitate differiscono.
Relativo
Termini del glossario introdotti
Tag annotato — وسم مشروح; tag leggero — وسم خفيف; tagger: منشئ الوسم; commit sbucciato — الإيداع المحسوم.
Trascrizione video
La narrazione del video, spunto per spunto.
Mostra la trascrizione
- Inizia dal checkpoint esatto.
- Assegna un nome al ramo, indice e versione funzionante.
- Preparare solo la copia isolata del corso.
- Scegli il commit esatto prima di taggare.
- Crea un tag annotato in quel commit.
- Scrivi il nome e l'annotazione significativa.
- Annotare non significa firma crittografica.
- Un tag non cambia il tuo ramo.
- Invia solo il tag denominato.
- Stacca il tag per verificarne il commit.
- Non inventare una versione ospitata.
- Cos'è la v0.1.0 qui?
- Il tipo di oggetto verificato è tag e si stacca dal main.
- Quali affermazioni sono giustificate?
- L'annotazione senza segno aggiunge metadati ma non sposta HEAD.
- Il tagging crea un altro commit principale?
- I punti del tag ref/oggetto a un commit esistente.
- Riutilizzare lo stesso nome senza forzature: risultato?
- Il tentativo di duplicazione misurato uscito128 e conservato il tag.
- Tag e ID principali differiscono: corrotti?
- L'oggetto proprio di un tag annotato differisce dalla destinazione del commit.
- Cosa dimostra il risultato?
- Leggi entrambi i livelli degli oggetti e il rif. del server effettivamente scelto.
- Verificare il risultato reale, non solo un messaggio.
- Prevedere l'input modificato prima di agire.
- Conservare il lavoro utile prima del ripristino.
- Dimostrare il checkpoint prima di continuare.
- Conserva il risultato verificato per il passo successivo.