Usare i commit in Git

Sommario
I cambiamenti in Idiota Non sono gli stessi di altri sistemi di gestione e controllo di versione, poiché archiviando solo ciò che è realmente cambiato, riduce la dimensione dei file generati per il controllo e gli conferisce anche una maggiore agilità.
L'aspetto che controlla tutto questo è il indice chi ha la responsabilità di sapere chi, cosa e quando di tutte le modifiche apportate, ecco perché dopo aver aggiunto i diversi aspetti al nostro indice di ramo la chiamata è fatta commettere.
Che cos'è un impegno?Nel Idiota Sappiamo che per aggiungere un cambiamento dobbiamo fare un commettere dello stesso una volta che è stato aggiunto all'indice del repository. Tuttavia, cos'è un commettere Esattamente? Questa domanda non è sempre chiesto a noi stessi dal modo in cui noi Idiota gestisce questo è abbastanza chiaro, ma a commettere è il modo in cui Idiota registra lo stato attuale dell'indice del repository e lo memorizza nell'oggetto corrispondente, in questo modo ciascuno commettere è derivato dal precedente e quindi la struttura che non subisce modifiche può essere riutilizzata.
La gestione delle risorse che lo rende così veloce è dovuto ai confronti che vengono fatti tra SHA1 Pertanto, se gli elementi all'interno dell'indice hanno lo stesso hash, non continuano ad approfondire le loro modifiche poiché sono identici e quindi vengono presi solo i file che sono realmente cambiati.
Il modo in cui si impegna ci permette di stabilire strutture gerarchiche che danno la certezza di ottenere l'origine di tutte le modifiche registrate, quindi se seguiamo le migliori pratiche di Idiota Non ci perderemo mai, grazie agli identificatori univoci possiamo anche essere sicuri che se qualche funzionalità ha creato un problema può essere trovata nel punto esatto in cui è stata inserita.
Abbiamo commentato come si impegna avere un hash in SHA1 con cui possono essere identificati, si scopre che questo hash li rende anche unici e irripetibili, cioè se abbiamo un commettere e in un altro repository viene trovato lo stesso hash così possiamo sapere che è lo stesso commettere.
Per questo motivo commettere è anche considerato atomico, cioè come una singola unità indipendentemente che memorizza lo stato di molte directory o file, con questo possiamo riferirci al commettere come un'unità all'interno del nostro repository e quindi essere in grado di trattare ciascuno come un elemento che, sebbene correlato al precedente, è unico.
Anche se l'hash SHA1 funge da identificatore univoco per il commettere, la sua struttura di 40 caratteri alfanumerici può rappresentare un problema quando vogliamo comunicare con un altro sviluppatore e spiegarlo commettere Noi stiamo parlando.
nomi relativiPer risolvere questo problema possiamo stabilire nomi relativi e più facile da ricordare per si impegnaQuesti non sostituiscono l'hash, ma piuttosto funzionano come una sorta di etichetta che ci permette di identificarli in modo più umano.
Per parlare dell'ultimo commettere del ramo possiamo semplicemente fare riferimento a TESTA, poiché questo farà sempre riferimento all'ultimo e al più recente commettereTuttavia, poiché non sempre lo richiederemo, è sufficiente utilizzare i primi caratteri di hash, anche se non sarà sempre unico, quindi aggiungendo più caratteri otterremo l'unicità corrispondente.
Vediamo quindi il comando che dobbiamo utilizzare per realizzare quest'ultimo:
git log -1 --pretty = commit identificatore di una riga

Ora vedremo nell'immagine seguente come identifichiamo a commettere all'interno del nostro repository di test, per questo individueremo inizialmente qual è il SHA1 del TESTA e poi lo chiameremo con i suoi primi caratteri, vediamo:

Con l'esempio precedente abbiamo scoperto uno strumento per Idiota che può essere molto utile ed è il comando log, questo è molto potente poiché ci permette di localizzare il diverso commettere in modo veloce e preciso, tuttavia ha molti parametri e configurazioni che possono essere difficili da memorizzare in prima istanza, tuttavia per usarlo non abbiamo bisogno di impararli tutti, possiamo andare a poco a poco mentre ci abituiamo al suo utilizzo.
Se vogliamo vedere la cronologia dei commit, procedi come segue:
git log nome del ramo

Con questo otterremo il informazioni dettagliate sulla cronologia della nostra ramo e il loro si impegnaVediamo come appare nella nostra console nel repository di test che abbiamo:

Notiamo poi come il si impegna sono organizzati dal più recente al più antico, questo ci permette di vedere un po' la linea storica dei cambiamenti subiti dal ramo scelto di visualizzare il registro storico.
Poiché lavorare sulla console a volte è un po' pesante, sebbene sia molto necessario, Idiota ci offre uno strumento che ci permette di ripercorrere la storia di si impegna graficamente ed è gitk non è un sottocomando di Idiota come ad esempio log che abbiamo già visto, ma è un comando indipendente e ci permette di accedere ad un maggior dettaglio del ramo e della sua storia.
Per usarlo, dobbiamo semplicemente eseguire il seguente comando:
nome gitkRamo

Vediamo come appare l'esecuzione nella console:

Anche se può sembrare che non sia successo nulla, a breve avremo una finestra con la grafica richiesta per il ramo specificato come possiamo vedere nello screenshot seguente:

INGRANDIRE

Possiamo notare che abbiamo un dettaglio molto maggiore, oltre al miglioramento nella sua visualizzazione.
RiferimentiSymrefs appartiene a Riferimentiriferimenti simbolici rispettivamente, il primo corrisponde a un identificatore SHA1 di un oggetto all'interno del frame oggetto del nostro repository, invece il secondo corrisponde indirettamente a un oggetto, nonostante il suo nome è anche un riferimento.
Questa struttura di riferimenti è molto importante da conoscere poiché ci permetterà di comprendere l'organizzazione della nostra directory di si impegnarami entro Idiota, che sono memorizzati nella directory .git / rif.
Creare un riferimento simbolicoSe vogliamo creare esplicitamente a riferimento simbolico basta usare il comando git simbolico-ref, e sebbene sia possibile usare nomi come TESTA per questi riferimenti non è consigliabile poiché alla fine possono portarci a una confusione che può causare danni al nostro repository.
Infine, vediamo come appare l'esecuzione di questo comando quando lo applichiamo al nostro repository di test:

Un altro aspetto interessante di si impegna, è che possiamo lavorare con nomi relativiQuesto rende molto semplice trovare intervalli di commit, ad esempio se vogliamo individuare ciò che esiste tra le recensioni di un determinato periodo possiamo farlo.
Per ottenere questo dobbiamo solo usare il nome del ramo più il simbolo ^ e il numero di revisione. Ad esempio maestro ^ dove ci riferiamo alla penultima modifica apportata nel ramo maestro.
Cronologia del repositoryIn questo modo potremo muoverci attraverso l'intera storia del nostro repository, che ci dà la possibilità di accedere relativamente al si impegna che ci hanno permesso di avere quello attuale, se seguiamo la struttura maestro 2 ci porterà dal secondo padre di commettere, cioè colui che ha dato la vita in parallelo, anche con ~ possiamo accedere al padre del padre del nostro commit attuale, cioè il nonno, per dirla in qualche modo in genealogia.
Un esempio può essere maestro 2 ~ 3 Per fare riferimento a modifiche storiche all'interno del nostro repository, se vogliamo ottenere il nome di un relativo commit dobbiamo semplicemente utilizzare il seguente comando:
git rev-parse NomeRelativo

Questo restituirà il SHA1 del commettere cui siamo arrivati. Vediamo nell'immagine seguente come possiamo ottenere il nome del commit corrente dal master e con maestro ~ il nome del primo genitore dello stesso che sarebbe il commettere da cui partiamo:

Abbiamo notato poi come siamo riusciti ad ottenerne due SHA1 diverso e valido all'interno del nostro repository, solo utilizzando nomi relativi.
Con questo finiamo questo tutorial, abbiamo introdotto nuovi concetti di cosa il si impegna entro IdiotaQuesto ci dà la possibilità di comprendere meglio le strutture dei nostri repository, con questo l'organizzazione sembrerà più logica e quindi possiamo essere molto più efficaci nella gestione delle modifiche all'interno del nostro codice. Il modo in cui Idiota gestire le differenze lo rende così speciale ed è per questo che è diventato uno dei principali version manager della tecnologia odierna.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave