GNU/Linux >> Linux Esercitazione >  >> Linux

Procedura:un'introduzione all'uso di Git

Introduzione

Git è un sistema di controllo della versione. Consente la manutenzione, la modifica, il backup e la condivisione di molti file mantenendo automaticamente i record di tutte le versioni precedenti. Questi tipi di file includono, ma non sono limitati a:file di codice, documenti, contratti, file HTML e CSS e altro ancora. Tutto ciò che è basato su testo è utilizzabile con Git.

Perché usare Git?

Hai mai aggiornato un programma, un sito Web o un documento solo per desiderare di avere a portata di mano la versione precedente? Forse le tue modifiche hanno danneggiato il programma o il sito Web, forse hai copiato e incollato alcune informazioni sulla fiala. In ogni caso, una sequenza temporale delle modifiche ti farebbe risparmiare tempo e fatica, che è esattamente ciò per cui è stato creato il protocollo Git.

Inoltre, Git può essere configurato per creare backup automatici di qualsiasi file durante il salvataggio ("committing") di un file o la modifica del sistema. È anche un sistema rapido e leggero:il protocollo Git salva solo le modifiche apportate a ciascun file, non ogni file singolarmente.

Infine, Git è lo standard del settore quando si lavora con il codice. Consente a più utenti di accedere e modificare gli stessi file senza conflitti, di portare una copia locale ("clone") di un progetto sul computer di un utente, creare una nuova copia a scopo di test che non influisca sull'originale ("ramo" ), o per creare una versione completamente nuova ("fork") del programma tuo o di qualcun altro per la modifica con un solo clic o comando. Puoi persino riportare le modifiche in un ramo nell'originale ("unisci").

Installazione di un client Git

Ok, per iniziare con Git, dovrai installare del software. Ci sono molti client là fuori, ma ci concentreremo su uno per ogni sistema operativo principale.

Installazione di Windows:

Vai su http://msysgit.github.io/ e fai clic su "Download" per installare il programma.

Pagina di download del client Windows Git

Installazione Mac OSX:

SourceForge ospita il programma di installazione di Max OSX. Fare clic sulla versione che corrisponde alla propria versione di OSX da scaricare, quindi installare il programma.

Pagina di download del client Git per Mac OSX

Installazione Linux:

Per Debian/Ubuntu:

sudo apt-get install git

Per CentOS/RedHat/Fedora:

sudo yum install git

Per altre distribuzioni Linux o Unix, controlla le opzioni di installazione del pacchetto qui.

Capire Git

Prima di entrare nei comandi, dovremmo esaminare alcune delle principali funzionalità e terminologia utilizzate con Git.

Archivio :il database principale in cui sono archiviati tutti i tuoi file per un determinato progetto.
Indice (Area di staging):lo spazio di attesa temporaneo per le modifiche ai file che verranno assegnate al Repository.
HEAD :punta a un ramo corrente in cui verranno salvate le modifiche.

Nota:HEAD è un comando e un puntatore all'interno del sistema git. Viene utilizzato per delimitare la "testa", un marker che indica al sistema il ramo corrente che si desidera modificare.

Blocco :il nome di un file in Git.
Tag :una nota che identifica il numero di versione di un documento o di una parte di codice.
Messaggio :una descrizione delle modifiche apportate con un commit (aggiornamenti di file o tag)
Cronologia :un record di tutti i commit effettuati nel ramo o nel repository.

Utilizzo di Git

Apri il programma Git bash che hai installato sopra:

Git bash in Windows

Se desideri utilizzare qualcosa di diverso dalla cartella predefinita per archiviare il tuo repository, crea la nuova cartella e quindi sposta il tuo client Git nella cartella corretta.

Esempio di navigazione in una cartella:

(Finestre)

cd C:/Users/username/foldername/

(Linux/Mac)

cd /Users/username/foldername

Dove username è il tuo nome utente sul computer e foldername è il nome della cartella che hai creato.

Creazione di un repository Git

Un modo per iniziare è creare un nuovo repository.

Per creare un nuovo repository, inserisci il comando:

git init

Clonazione di un repository Git

Un altro modo per iniziare è clonare un altro repository esistente. Per clonare un repository esistente da GitHub (un sito popolare per l'archiviazione e la condivisione di progetti utilizzando Git, discusso più avanti), inserisci il comando:

git clone git://github.com/repositoryname

Per clonare un repository online diverso (a cui hai accesso), inserisci il comando:

git clone [email protected]:/path/to/repository.git

Commissione di repository Git

Una volta apportate le modifiche e vorresti aggiungerle al tuo repository, seguirai una breve procedura:

  1. Posiziona i file di cui eseguire il commit nell'indice (area di staging)
  2. Impegnati nel repository locale
  3. Invia le modifiche al repository remoto (se si lavora con un repository remoto).

Indice

Prima dell'aggiornamento, devi posizionare i file su cui commetterai ogni round nell'indice (o nell'area di staging). Il tuo client Git aggiornerà solo i file che sono stati inseriti lì. Per inserire un file nell'Indice, inserisci il comando:

git add filename

Nota:puoi utilizzare un punto (.) al posto del nome del file per aggiungere tutti i file correnti nella directory.

git add .

Impegnati

Per salvare i file aggiunti nel tuo repository locale, inserisci il comando:

git commit -m "message"

Dove message è una descrizione delle modifiche apportate al commit. Assicurati di includere le virgolette.

Suggerimento:

Mentre siamo qui, tocchiamo i commit e i messaggi. Abbiamo visto un esempio sopra, aggiungendo tutti i file a un commit. Tuttavia, la procedura consigliata quando si utilizza Git è di eseguire il commit solo di una serie di modifiche correlate ogni volta. I commit dovrebbero essere piccoli blocchi discreti che possono essere spiegati con un breve messaggio. Questo è ciò che rende utile il controllo della versione (il motivo dell'esistenza di Git). Piccole modifiche possono essere annullate se causano problemi o in seguito si rivelano non necessarie o in conflitto con altre modifiche. Il commit di grandi blocchi di modifiche non correlate rende difficile identificare ciò che sta causando un problema o un bug, se dovesse verificarsi. Una buona regola pratica:se ci vogliono più di una o due frasi per descrivere il tuo commit, devi impegnare pezzi più piccoli.

Spingi

Ora che le modifiche sono state salvate, puoi inviarle a un repository remoto (se stai utilizzando un repository remoto):

git push origin master

Il push a un repository remoto consente ad altri utenti di accedere e modificare le modifiche che hai apportato.

Creazione, utilizzo e unione di rami Git

Abbiamo discusso brevemente dei rami, ma esaminiamoli.

Un ramo è una linea di pensiero separata per il tuo contenuto o programma. Ad esempio, se desideri prendere in considerazione una nuova tavolozza di colori per un sito Web, puoi creare uno o più rami del sito Web e testare i vari concetti della tavolozza dei colori senza influire sul Master. Se hai optato per un nuovo tema arancione, puoi quindi unire il ramo "arancione" nel Master e sostituire la vecchia tavolozza. Vediamo come funziona.

Per creare un nuovo ramo che ospiterà la tua tavolozza di colori arancione, inserisci:

git checkout -b orange

checkout è un comando Git che passa da un ramo all'altro. Il -b l'opzione crea un nuovo ramo con il nome che segue, in questo caso "arancione".

Nota:assicurati di aver salvato il lavoro svolto nel tuo editor prima di creare un nuovo ramo per evitare di perderlo.

Se vuoi tornare a lavorare sul ramo Master, inserisci:

git checkout master

Nota:Git richiede il commit di tutte le modifiche prima di consentirti di cambiare branch.

In questo esempio, lavoreremo con quella nuova tavolozza di colori, quindi rimarremo con il nuovo ramo.

Impegnerai il ramo con lo stesso comando del ramo Master.

git commit -a -m "branch demonstrating an orange palette"

Il -a flag aggiunge automaticamente tutti i file tracciati, ovvero tutti i file inclusi nell'ultimo commit che sono stati modificati.

Se desideri inviare il tuo ramo arancione al repository remoto, utilizza:

git push origin orange

Se sei soddisfatto del tuo test e desideri includere le modifiche nella tua versione principale (il tuo ramo Master), ti consigliamo di unirti.

Per prima cosa, effettua il checkout nella tua filiale Master.

git checkout master

Quindi, usa il comando di unione per aggiornare il Master con le informazioni del tuo ramo "arancione".

git merge orange

Dopo l'unione, il ramo esiste ancora ma non è più necessario. Elimina il ramo "arancione" usando il -d opzione:

git branch -d orange

Conflitti durante l'unione

Se hai due o più rami che hanno modifiche allo stesso file, potresti avere un conflitto quando li unisci in successione. Un esempio di conflitto tra un ramo "layout di prova" del tuo sito Web e il ramo "arancione" che hai unito di recente al Master potrebbe essere simile al seguente:

$ git merge orange
<<<<<<< HEAD:index.html
<div id="footer">contact : [email protected]</div>
=======
<div id="footer"> contact us at [email protected]</div>
>>>>>>> test-layout:index.html

Sarai responsabile della modifica dei due file in modo che corrispondano nelle aree di conflitto, quindi dell'esecuzione del comando per finalizzare l'unione:

git add index.html

Puoi sempre confrontare i rami prima di un'unione utilizzando il diff comando.

git diff <one-branch> <another-branch>

Ritiro e recupero con Git

Abbiamo esaminato come inviare le modifiche a un repository remoto, ma cosa succede se stai lavorando con altri e hai bisogno di accedere alle modifiche che hanno apportato? Ecco dove il pull arriva il comando.

Pulling recupera tutte le modifiche apportate al repository remoto dall'ultima volta che lo hai clonato o estratto e copia le modifiche nel repository locale.

git pull

Se desideri aggiornamenti remoti senza modificare automaticamente la tua copia locale per riflettere le modifiche, usa fetch :

git fetch

Hai quindi la possibilità di rivedere le modifiche e unire gli aggiornamenti nel tuo Master.

Forking e GitHub

Quando usi e impari Git, ti imbatterai nel termine "fork" o "forking". Il fork è semplicemente clonare il repository di qualcun altro nel tuo spazio, dove puoi modificarlo e creare la tua versione senza interrompere la loro, creando così una versione indipendente o "fork".

Ti imbatterai anche nel nome GitHub. Con GitHub, il fork è facile e può essere fatto con il clic di un pulsante:

Pulsante fork su GitHub

Presentato principalmente come uno strumento collaborativo, GitHub è un servizio con il quale puoi eseguire il backup e condividere i tuoi repository, o contribuire e biforcare i progetti di altre persone. Esistono altri servizi simili a GitHub, ma GitHub rimane una delle opzioni più popolari.

Per scaricare il client o saperne di più, vai su Github.

Ulteriori risorse

Ci sono molte fonti da cui imparare le opzioni avanzate in Git. Una delle fonti più complete è il libro Pro Git, disponibile online.

E c'è sempre la documentazione ufficiale di Git.

GitHub offre anche una playlist di video lezioni.

Atlantic.Net

Atlantic.net offre hosting VPS e servizi di hosting gestito che includono un livello di servizi gestiti business-essential ai tuoi pacchetti di hosting. Contattaci oggi per ulteriori informazioni.


Linux
  1. Come convertire un file PPK in PEM usando Command

  2. Git Completamento automatico?

  3. Come dividere iso o file usando il comando "split" in Linux

  4. Come aprire un file in vim usando pipe

  5. Come rimuovere un file senza usare rm?

Come creare un collegamento simbolico in Linux usando il comando Ln

Come monitorare le modifiche ai file utilizzando fswatch in Linux

Come configurare un file server di base utilizzando simpleHTTPserver

Come bloccare un file di testo in Linux usando il comando flock

Come modificare le autorizzazioni dei file utilizzando FileZilla

Come bloccare un indirizzo IP usando .htaccess?