Dimensione: 0
Commento:
|
Dimensione: 4972
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from jepessen/Prove/Git <<BR>> <<Indice(depth=1)>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=590616"; rilasci="14.04")>> = Introduzione = '''Git''' è un [[http://it.wikipedia.org/wiki/Controllo_versione|CVS]] ('''C'''ontrol '''V'''ersion '''S'''ystem). Gli aspetti importanti di un CSV si possono riassumere nel: * tracciare la storia di un progetto e poter lavorare con le versioni precedenti; * permettere la collaborazione di più persone allo stesso progetto; * organizzare e semplificare l'andamento del progetto. Rispetto a programmi come [[Programmazione/Cvs|CVS]], [[Programmazione/Subversion|Subversion]] ma più similmente a [[http://mercurial.selenic.com|Mercurial]], [[Programmazione/Bazaar|Baazar]], '''Git''' è caratterizzato da un sistema di controllo di versione localizzato, cioè utilizzabile con repository locali invece che remoti. Programmi come '''Subversion''' adottano un repository centrale, che materialmente è il posto (server, servizio web) in cui risiede il progetto. Gli utenti sincronizzano il lavoro con questo repository e quando devono salvare delle modifiche al progetto (''commit''), le salvano direttamente sul repository centralizzato. '''Git''' invece lavora in locale. Non esiste un repository centralizzato nel modo che si intende in '''Subversion''' et similia. Ogni cartella di lavoro è un repository autosufficiente. Commit, ricerca log e molte altre azioni vengono eseguite in locale, senza l'appoggio di un server esterno. Quando si rende necessario è possibile sincronizzarsi con altri repository (server centrale, pc in rete, ecc..). Questo comporta ovvi vantaggi in termini di flessibilità. <<Anchor(alias)>> = Installazione/Configurazione base = 0. Per installare '''Git''' digitare in un [[AmministrazioneSistema/RigaDiComando|terminale]]:{{{ sudo apt-get install git }}} 0. Impostare '''nome utente''' e '''indirizzo e-mail''' che si vogliono utilizzare per identificarsi nei progetti:{{{ git config --global user.name "NOME_UTENTE" git config --global user.email INDIRIZZO_E-MAIL }}}avendo cura di soistituire le diciture NOME_UTENTE e INDIRIZZO_E-MAIL col proprio nome utente e indirizzo e-mail. ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''È possibile modificare questi dati per un singolo repository omettendo il flag '''--global.''''' || 0. Consigliato ma non obbligatorio, impostare l'alias '''lg''' per una versione personalizzata del comando '''log''' al fine di migliorarne la leggibilità:{{{ git config --global alias.lg "log --pretty=format:'%C(yellow)%h%Cred%d%Creset - %C(cyan)%an %Creset: %s %Cgreen(%cr)' --decorate --graph --all --abbrev-commit" }}} = Creazione repository = Viene qui mostrato come creare un '''nuovo progetto''' o come importare (clonare) un '''progetto esistente'''. == Creazione nuovo repository == <<Anchor(creare)>> 0. Creare la cartella `gitproject` nella propria '''Home''' che conterrà il progetto e spostarsi al suo interno:{{{ mkdir ~/gitproject cd ~/gitproject }}} 0. Per inizializzare un repository vuoto su cui poter incominciare a lavorare, digitare:{{{ git init }}}verrà restituito un messaggio del tipo{{{ Inizializzato un repository Git in /home/USER_NAME/gitproject/.git/ }}}All'interno di `~/gitproject` sarà ora presente la cartella `.git` che contiene le informazioni del repository. Questa cartella è molto importante perché è l'unica che contiene tutti i dati necessari. (In '''Subversion''' ad es. viene creata una cartella .svn in ogni sottocartella del progetto). == Clonazione repository == * Per scaricare un progetto già esistente su di un server, il comando da eseguire è:{{{ git clone PERCORSO/PROGETTO }}}Verrà creata nella propria '''Home''' una cartella col nome del progetto in cui saranno copiati i contenuti. * Se invece si preferisce clonare il repository in una cartella specifica, basta aggiungere il percorso al comando:{{{ git clone PERCORSO/PROGETTO PERCORSO/LOCALE }}} = Commit = Attraverso il '''commit''' è possibile aggiungere, rimuovere e modificare i file del repository. Consultare la [[Programmazione/Git/Commit|seguente pagina]]. = Branching = '''Git''' prevede una gestione molto efficace dei '''branch''' (rami di sviluppo). Consultare la [[Programmazione/Git/Branch|seguente pagina]]. = Repository remoti = Attraverso gli strumenti '''fetch''', '''pull''', '''push''' è possibile sincronizzare il lavoro svolto da utenti diversi utenti. Consultare la [[Programmazione/Git/RepositoryRemoti|seguente pagina]]. = Ulteriori risorse = * [[http://git-scm.com/|Sito ufficiale del progetto]] * [[http://git-scm.com/doc|Documentazione ufficiale del progetto]] * [[Programmazione|Portale sulla programmazione]] ---- CategoryProgrammazione |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Git è un CVS (Control Version System). Gli aspetti importanti di un CSV si possono riassumere nel:
- tracciare la storia di un progetto e poter lavorare con le versioni precedenti;
- permettere la collaborazione di più persone allo stesso progetto;
- organizzare e semplificare l'andamento del progetto.
Rispetto a programmi come CVS, Subversion ma più similmente a Mercurial, Baazar, Git è caratterizzato da un sistema di controllo di versione localizzato, cioè utilizzabile con repository locali invece che remoti. Programmi come Subversion adottano un repository centrale, che materialmente è il posto (server, servizio web) in cui risiede il progetto. Gli utenti sincronizzano il lavoro con questo repository e quando devono salvare delle modifiche al progetto (commit), le salvano direttamente sul repository centralizzato.
Git invece lavora in locale. Non esiste un repository centralizzato nel modo che si intende in Subversion et similia. Ogni cartella di lavoro è un repository autosufficiente. Commit, ricerca log e molte altre azioni vengono eseguite in locale, senza l'appoggio di un server esterno. Quando si rende necessario è possibile sincronizzarsi con altri repository (server centrale, pc in rete, ecc..). Questo comporta ovvi vantaggi in termini di flessibilità.
Installazione/Configurazione base
Per installare Git digitare in un terminale:
sudo apt-get install git
Impostare nome utente e indirizzo e-mail che si vogliono utilizzare per identificarsi nei progetti:
git config --global user.name "NOME_UTENTE" git config --global user.email INDIRIZZO_E-MAIL
avendo cura di soistituire le diciture NOME_UTENTE e INDIRIZZO_E-MAIL col proprio nome utente e indirizzo e-mail.Consigliato ma non obbligatorio, impostare l'alias lg per una versione personalizzata del comando log al fine di migliorarne la leggibilità:
git config --global alias.lg "log --pretty=format:'%C(yellow)%h%Cred%d%Creset - %C(cyan)%an %Creset: %s %Cgreen(%cr)' --decorate --graph --all --abbrev-commit"
Creazione repository
Viene qui mostrato come creare un nuovo progetto o come importare (clonare) un progetto esistente.
Creazione nuovo repository
Creare la cartella gitproject nella propria Home che conterrà il progetto e spostarsi al suo interno:
mkdir ~/gitproject cd ~/gitproject
Per inizializzare un repository vuoto su cui poter incominciare a lavorare, digitare:
git init
verrà restituito un messaggio del tipo
Inizializzato un repository Git in /home/USER_NAME/gitproject/.git/
All'interno di ~/gitproject sarà ora presente la cartella .git che contiene le informazioni del repository. Questa cartella è molto importante perché è l'unica che contiene tutti i dati necessari. (In Subversion ad es. viene creata una cartella .svn in ogni sottocartella del progetto).
Clonazione repository
Per scaricare un progetto già esistente su di un server, il comando da eseguire è:
git clone PERCORSO/PROGETTO
Verrà creata nella propria Home una cartella col nome del progetto in cui saranno copiati i contenuti.
Se invece si preferisce clonare il repository in una cartella specifica, basta aggiungere il percorso al comando:
git clone PERCORSO/PROGETTO PERCORSO/LOCALE
Commit
Attraverso il commit è possibile aggiungere, rimuovere e modificare i file del repository. Consultare la seguente pagina.
Branching
Git prevede una gestione molto efficace dei branch (rami di sviluppo). Consultare la seguente pagina.
Repository remoti
Attraverso gli strumenti fetch, pull, push è possibile sincronizzare il lavoro svolto da utenti diversi utenti. Consultare la seguente pagina.