Come ripristinare Git alla precedente guida statale per ripristinare, ripristinare, ripristinare e rebase

Come ripristinare Git alla precedente guida statale per ripristinare, ripristinare, ripristinare e rebase
Se hai un background di sviluppo, allora devi essere a conoscenza di molti strumenti di sviluppo. Quando si sviluppa individualmente un progetto attraverso qualsiasi linguaggio di programmazione, sei a tuo agio con un'interfaccia di comando (terminale) o strumenti GUI.

Ma cosa succede se stai lavorando con i membri del team, è difficile inviare pezzi di programmi a tutti i membri del team individualmente. Esiste anche un limite di dimensioni di file su piattaforme diverse che non consentono all'utente di inviare più delle dimensioni descritte.

È difficile collaborare quando il progetto è troppo grande e necessita sempre di modifiche. Per questo, hai bisogno di un sistema di controllo della versione distribuito che ti aiuti a collaborare con i membri del team in tutto il mondo. È bene utilizzare un sistema di controllo della versione distribuita per progetti software piccoli e grandi. Ciascuno dei membri del team avrà pieno accesso al repository completo sul sistema locale e può lavorare offline.

Uno di questi software versatili è Idiota, e un repository gestisce da git è noto come Github, Dove puoi salvare i tuoi progetti ed è accessibile da qualsiasi membro del team.

Prima di iniziare il Idiota Introduzione, devi sapere sul Sistema di controllo della versione (VCS), come Idiota è uno dei sistemi di controllo della versione distribuita. Devi avere un'idea sui VC, soprattutto se si dispone di uno sviluppo di software.

Version Control System (VCS)

Durante il lavoro di squadra, il sistema di controllo della versione aiuta a tenere un registro di modifiche, funzionalità e tracce nei progetti. Attraverso questo, una squadra può lavorare attraverso la cooperazione e anche separare i loro pezzi di attività attraverso le filiali. Il numero di filiali sui VC dipende dal numero di collaboratori e può essere mantenuto individualmente.

Poiché questo sistema di gestione del processo registra tutta la cronologia delle modifiche nel repository, se un membro del team ha commesso errori, può confrontarlo con le versioni di lavoro di back-up e annullarlo. Questo aiuta a ridurre al minimo gli errori poiché hai la possibilità di tornare allo stato precedente.

Altre caratteristiche notevoli dei VC sono:

  • Non dipende da altri sistemi di repository.
  • Puoi creare un clone di repository in modo che in caso di fallimento o crash, non perderai l'intero progetto.
  • Per tutti i file e i documenti, la cronologia è disponibile con ora e data.
  • Esiste un sistema di tag nei VC che aiuta a mostrare la differenza tra tutti i tipi di documenti diversi.

Tipi di sistema di controllo della versione

Il VCS è diviso in tre tipi:

  1. Sistema di controllo della versione locale (VCS)
  2. Sistema di controllo della versione centralizzata (CVCS)
  3. Sistema di controllo della versione distribuita (DVCS)

Sistema di controllo della versione locale

Nel sistema di controllo della versione locale, la traccia dei file viene mantenuta all'interno del sistema locale; È semplice, ma le possibilità di fallimento dei file sono elevate.

Sistema di controllo della versione centralizzata

Nel sistema di controllo della versione centralizzata, il server centralizzato tiene traccia di tutti i file; Ha una cronologia completa delle versioni e delle informazioni sul client di tutti i file se controllano i file dal server. È come un sistema client-server in cui chiunque può condividere il server e accedere anche al lavoro di tutti.

Sistema di controllo della versione distribuita

L'ultimo è il sistema di controllo della versione distribuita che arriva a controllare gli svantaggi dei VC centralizzati. In questo tipo, il client può creare un clone di un repository completo che include la cronologia e la traccia dei file. Il server torna in caso di errore utilizzando la copia del repository del client poiché un clone è considerato un backup completo dei dati. Progetti open source come Idiota eccetera., Usa un tale tipo di sistema di controllo della versione.

Cosa è git?

Idiota è uno dei software di sistema VCS (Distributed Version Control (VCS) che mantiene tutta la traccia dei dati. Lo scopo alla base dello sviluppo del Idiota Il software è fornire una piattaforma di collaborazione in cui tutti gli sviluppatori possono condividere il loro codice sorgente durante lo sviluppo del progetto. Altre caratteristiche importanti di Idiota Sono; Fornisce una piattaforma open source con prestazioni ad alta velocità, è compatibile, leggero, affidabile, sicuro, garantisce l'integrità dei dati, gestisce migliaia di filiali in esecuzione su diversi sistemi e così via.

Nel 2005, Linus Torvalds ha deciso di creare un nuovo sistema di controllo della versione per soddisfare le esigenze della comunità e mantenere il sistema del kernel Linux. Con l'aiuto di altri sviluppatori Linux, la struttura iniziale di Idiota è stato sviluppato e Junio ​​Hamano è stato il manutentore di base dal 2005. Linus Torvalds è andato offline, ha presentato il sistema rivoluzionario e nominalo Idiota. E ora, un gran numero di società multinazionali, come Google, Firefox, Microsoft e Startups, usano Git per i loro progetti software. È difficile identificare Idiota Come sistema di controllo della versione (VCS), Sistema di gestione del codice sorgente (SC) o sistema di controllo della revisione (RCS) come è sviluppato con la funzionalità del trio.

Flusso di lavoro Git

Quando viene avviato un progetto GIT, si divide in tre segmenti:

  1. Directory git
  2. Albero di lavoro
  3. Area di sosta

IL Idiota Directory riguarda tutti i file, compresa la cronologia delle modifiche. IL Albero di lavoro Il segmento detiene lo stato attuale del progetto e tutte le modifiche. E il Area di sosta dice il Idiota Quali possibili modifiche nel file potrebbero verificarsi nel prossimo commit.

Ci sono due possibilità di stato di file presenti in una directory di lavoro:

  1. Non rintracciato
  2. Tracciato

O un file sarà non rintracciato, oppure si troverà in uno stato tracciato.

Esploriamo questi due:

Stato non tracciato

I file che non sono aggiunti ma presenti nella directory di lavoro saranno in uno stato non tracciato; Git non li sta monitorando.

Stato tracciato

I file tracciati sono quei file presenti nell'ultima snapshot e Idiota ha un'idea su di loro.

Ciascuno dei file tracciati può risiedere in uno dei sotto-stato menzionati:

  1. Impegnato
  2. Modificata
  3. Messo in scena

Impegnato

Questo stato del file significa che tutti i dati del file sono archiviati nel database locale in modo sicuro.

Modificata

Un file cambia il suo stato da Impegnato A Modificata Quando sono state apportate modifiche nel file. Potrebbe esserci qualsiasi tipo di modifica come l'eliminazione del contenuto, l'aggiornamento o l'aggiunta di qualsiasi cosa. Semplicemente, questo stato significa cambiamenti che non sono ancora stati commessi.

Messo in scena

Lo stato messo in scena includeva due tipi di file: file modificati o file non tracciati (file appena creati). Quando tutte le modifiche di un file sono finite, viene trasferita allo stato messo in scena.

Come installare git su ubuntu

Non hai bisogno del permesso sudo per installare git su Ubuntu; Può essere scaricato con o senza utenti root.

Per verificare se Idiota è già installato sul tuo dispositivo o meno, eseguire il comando dato:

$ git -version

Se è presente sul tuo sistema, otterrai un Idiota versione. Come non è presente nel mio sistema; Per installare, eseguire il comando dato:

$ sudo APT Installa git

Ora, esegui nuovamente il comando versione per verificare se è installato correttamente:

$ git -version

Impostazione Git

Dopo il processo di installazione, il passaggio successivo è configurare il Idiota impostato in modo da poter iniziare con il Idiota Software.

Per la configurazione, è necessario inserire il tuo nome e indirizzo e -mail tramite "config git"Comando.

Innanzitutto, è necessario inserire il nome utente per impostare per il sistema GIT; Digita il comando menzionato per questo:

$ git config -utente global.Nome "Wardah"

Ora, imposta l'indirizzo e -mail tramite il seguente comando:

$ git config -utente global.email "[email protected] "

Quando si impostano credenziali per il Idiota Applicazione, verrà archiviato nel file di configurazione GIT "./gitconfig "; È possibile modificare le informazioni utilizzando qualsiasi editor di testo come Nano, ecc.

Il comando usato a questo scopo è:

$ nano ~/.gitconfig

Se si desidera modificare informazioni come nome o e -mail, fallo nell'editor e premi "Ctrl+X"E poi premere "Y/y"; Salverà le modifiche e l'uscita dell'editore.

Guida completa per ripristinare, ripristinare, ripristinare e rebase

Quando lavori con l'applicazione GIT, affronti sfide in cui è necessario tornare a uno qualsiasi dei commessi precedenti. È uno degli aspetti GIT meno conosciuti, poiché molti di noi non sanno quanto sia facile tornare all'ultimo stato del commit.

È abbastanza facile annullare cambiamenti significativi nel repository se sai la differenza tra i termini "Ristabilire","Ripristina","Ripristina", E "Rebase". Per eseguire la funzione richiesta (tornando allo stato precedente), dovresti conoscere le loro differenze.

Questo articolo coprirà quattro aspetti principali di Idiota:

  1. Git Restore
  2. Reset git
  3. Git Ripristina
  4. Git rebase

Spieghiamo tutti separatamente in modo da poter ottenere una migliore comprensione:

Git Restore

L'operazione GIT Restore aiuta a ripristinare i contenuti dall'indice di stadiazione o eventuali commit nella directory di lavoro. Non aggiornerà la filiale ma cambia la cronologia del commit ripristinando i file da altri commit. Ha specificato i percorsi nell'albero di lavoro; Questi percorsi aiutano a trovare il contenuto mentre si ripristinano.

Il ripristino utilizza alcuni comandi per recuperare il contenuto, se trovi il "messo in scena"Comando, significa che i file vengono ripristinati da Testa O indice; Per ripristinare i file da altri commit, utilizzare il "-fonte"Comando, e se vuoi ripristinare sia" albero di lavoro "che indice, puoi farlo tramite"-messo in scena" E "-Worktree"Comandi.

Per ripristinare le modifiche apportate di recente seguire la sintassi di seguito:

Git Restore [FileName]

Ad esempio, hai aggiunto un file con il nome di “My_git.TXT" usando il comando menzionato di seguito:

$ git aggiungi my_git.TXT

Per verificare se il file esiste o meno, il comando indicato verrebbe usato:

$ git status

Ora rimuoviamo questo file usando:

$ rm -f my_git.TXT

Controlla di nuovo lo stato:

$ git status

Come si può vedere che il file è stato eliminato. Ora, per ripristinarlo, usare:

$ git restatore my_git.TXT

Controlla di nuovo lo stato:

$ git status

Il file è stato ripristinato. IL "messo in scena Il flag viene utilizzato per ripristinare un determinato file dal GIT precedentemente aggiunto, per così dire, seguire la sintassi data:

git restatore -messo in scena [nome file]

Per ripristinare più file dall'area di gestione temporanea, è necessario utilizzare i caratteri jolly con il nome file; Piace:

git restatore -messo in scena *[nome file]

Per ripristinare le modifiche locali non impegnate, la stessa sintassi verrebbe seguita come abbiamo fatto sopra, ma eliminava il "-messo in scena"Flag dal comando.

Ricorda che queste modifiche non possono essere annullate.

Git Restore [FileName]

Nella directory di lavoro corrente, tutti i file presenti possono essere ripristinati attraverso la seguente sintassi:

Git Restore .

Reset git

Puoi considerare Reset git Come funzionalità di roll-back perché viene utilizzato per annullare le modifiche. Quando si utilizza la funzione di ripristino Git, restituirà il tuo ambiente attuale al commit precedente. Questo ambiente di lavoro potrebbe essere qualsiasi stato come la directory di lavoro, l'area di gestione temporanea o il magazzino locale.

Abbiamo spiegato il Area di sosta E Directory di lavoro; Nella funzione di ripristino, il file Testa è un puntatore verso un nuovo ramo o una filiale attuale. Ogni volta che si passa da quello precedente, si riferisce al nuovo ramo. È un riferimento del ramo precedente verso ulteriormente, quindi può essere considerato l'azione genitore.

Per eseguire il comando GIT RESET, ti vengono offerte tre diverse modalità di GIT; Morbido, Misto, E Difficile. Quando si esegue il comando GIT reset, utilizzerà misto Modalità per impostazione predefinita.

Se passiamo al Git reset duro, Punta la testa al commit specificato ed elimina tutti gli commit dopo il commit particolare. Quando si utilizza il comando RESET HARD, aggiorna la directory di lavoro e l'area di stadiazione e modifica la cronologia di commit. IL Git reset soft ripristina i puntatori di riferimento e li aggiorna; Quando passiamo -morbido argomento, non tocca la directory di lavoro e l'area di gestione. IL Reset Git misto è la modalità predefinita di git; Quando lo esegui, i puntatori di riferimento vengono aggiornati e invia le modifiche annullate dall'indice di stadiazione alla directory di lavoro per completarli.

Per ripristinare (annullare) tutte le modifiche che hai fatto nell'ultimo commit, verrebbe utilizzato il seguente comando:

$ git reset -testa dura

Scarterà tutti i cambiamenti che si verificano nell'ultimo commit. E per due impegni prima "TESTA":

$ git reset -testa hard ~ 2

Il comando di cui sopra non viene utilizzato perché tutto, compresa la cronologia del commit, verrà aggiornato a un commit specifico. Inoltre, l'indice di stadiazione e la directory di lavoro verranno anche ripristinati a quel commit specifico. Potresti perdere dati cruciali in attesa dell'indice di stadiazione e della directory di lavoro. Per evitarlo, usa "-Soft" al posto di Hard.

$ git reset -soft head

Il comando sopra non modificherà la directory di lavoro e l'indice di stadiazione. Utilizziamo l'opzione "Ripristina" per sconvolgere un file:

In primo luogo, crea un file e aggiungilo a qualsiasi filiale usando:

$ git aggiungi indice.html

Il comando sopra è aggiungere un "indice.HTML " File alla filiale principale. Per controllare lo stato:

$ git status

Per installare il file "indice.HTML ", utilizzo:

$ git reset indice.html

Git Ripristina

Git Ripristina L'operazione è abbastanza simile a Reset git comando; L'unica differenza è che hai bisogno di un nuovo impegno per tornare al commit specifico durante l'esecuzione di questa operazione. Il comando di ripristino viene utilizzato per annullare le modifiche che si verificano dopo aver eseguito il comando di ripristino. Per questo, non eliminerà alcun dato; Basta aggiungere un nuovo commit alla fine che annullerà la modifica nel repository.

Per tornare nel commit, menzionare l'hash con l'opzione di riviste:

git rivert [commit_ref]

Il comando Git Revert necessita di un riferimento, il che significa che il comando non funzionerà. Usiamo "TESTA" Come commit riferimento.

$ git Ripristina la testa

Il comando sopra menzionato ripristinerà l'ultimo commit.

Git rebase

IL Git rebase viene utilizzato per unire o combinare la sequenza di commit sulla nuova base. È il processo di integrazione delle modifiche e li trasferisce da un ramo all'altra (una base a un'altra). È un'alternativa al "unire"Comando ma in qualche modo diverso da esso, e quindi potrebbe confonderci perché entrambi sono simili. IL "unire"Il comando viene utilizzato per combinare la cronologia commette e mantenere il record come accadde, mentre i comandi Rebase riscrivono o riapplicano la storia dei commit in cima a un altro ramo.

Dimostriamo il concetto di opzione Rebase attraverso un esempio:

Nella storia sopra, "caratteristiche"È un ramo con"B"Come la sua base. Usa il comando seguente per unire il "caratteristiche" Filiale dopo il commit finale:

git rebase [commit_ref]

Il riferimento di commit potrebbe essere qualcosa di simile a un ramo, id o tag. Ad esempio, per ribasciare il "caratteristiche" ramo al maestro, che è "D", Usa il comando di seguito:

$ git checkout caratteristiche $ git rebase master

Quando esegui questo comando, il "caratteristiche" Branch verrà aggiunto al Master, che è una nuova base:

Conclusione

Nella gestione della configurazione del software, Controllo della versione è un componente cruciale per gestire le modifiche nella documentazione, nei programmi o nei progetti software. Queste modifiche sono identificate numericamente e intitolate "revisione". Supponiamo che la prima versione sia impostata come "Revisione 1". Quando un membro del team cambia il progetto, lo salverà come "revisione 2" con il timestamp e la persona interessata che ha apportato modifiche.

Il sistema di controllo della versione è diviso in tre categorie VC locali, VC centralizzati e VC distribuiti. Uno degli esempi di VC distribuiti è Idiota, software open source che aiuta a gestire tutti i record di un progetto di sviluppo. Fornisce una piattaforma collaboratrice leggera con alte prestazioni e gestisce diversi filiali in esecuzione su diversi sistemi.

Ogni volta che inizi con un progetto sul sistema GIT, il flusso di lavoro Git aiuta a gestirlo in modo efficace e coerente; È diviso in tre segmenti: Git Directory, Albero di lavoro, E Area di sosta.

Il progetto su cui stai lavorando è o in un stato non tracciato O tracciato stato. Il file non tracciato è considerato un nuovo file che prima non faceva parte della directory di lavoro, mentre i file tracciati sono la parte delle ultime istantanee e ulteriormente classificati in Impegnato, Modificata, E Messo in scena stati.

UN impegnato stato significa che i dati dei file sono archiviati in un database locale; Ogni volta che si apportano modifiche al file, si trasferisce nello stato modificato. IL Messo in scena Lo stato include file modificati e file appena creati; Quando tutte le modifiche di un file sono finite, viene trasferita allo stato messo in scena.

Questo articolo sta dimostrando come è possibile installare e configurare il sistema GIT su Ubuntu 20.04.

Successivamente, abbiamo discusso di come ripristinare, reimentare, ripristinare e ripristinare le operazioni GIT mentre facevano un progetto. IL Git Restore La funzione viene utilizzata per ripristinare il contenuto da commit nella directory di lavoro. Ogni volta che esegui un comando di ripristino, cambierà la cronologia di commit e specificherà i percorsi.

IL Ripristina, Oppure possiamo dire che la funzione di rollback aiuta a annullare le modifiche nel Repository git e restituirà l'ambiente attuale al commit precedente.

Git Ripristina L'operazione è abbastanza simile a Reset git comando; L'unica differenza è che hai bisogno di un nuovo impegno per tornare al commit specifico durante l'esecuzione di questa operazione.

E l'ultimo è il Git rebase che viene utilizzato per unire o combinare la sequenza di commit sul repository. È diverso dal comando di unione come "unire"Il comando viene utilizzato per combinare la cronologia commette e mantenere il record come è accaduto, mentre"Rebase"I comandi riscrivono o riapplicano la storia dei commit in cima a un altro ramo.

L'articolo ti ha mostrato come eseguire queste operazioni durante l'utilizzo del software GIT su Linux.