2. QUI SÓC
● Soci fundador d'Ymbra
● Desenvolupador Drupal
● Desenvolupador frontend
● Membre actiu de la
comunitat drupalera:
Ramon Vilar Gavaldà ● President de Drupal.cat
http://ymbra.com/blogs/ramon ● Administrador de la traducció
http://twitter.com/rvilar
catalana del Drupal
http://drupal.org/user/293298
2
3. ÍNDEX
01. QUÈ ÉS GIT?
02. CENTRALITZATS VS. DISTRIBUÏTS
03. CARACTERÍSTIQUES
04. ELS TRES ESTATS DE GIT
05. CONFIGURACIÓ BÀSICA
06. FLUX DIARI DE TREBALL
07. COMANDES ÚTILS
08. BRANQUES
09. REMOTS
Ymbra Drupal dreamers 3
4. QUÈ ÉS GIT?
● Git és un sistema de control de versions
distribuït
● Va néixer de les mans de Linus Torvalds
● Es va concebre per poder mantenir el nucli de
Linux després de trencar al 2005 amb
BitKeeper
Ymbra Drupal dreamers 4
5. CENTRALITZATS VS. DISTRIBUÏTS (I)
● SCV centralitzats
● Un “únic” repositori
● Una única línia de treball
Ymbra Drupal dreamers 5
6. CENTRALITZATS VS. DISTRIBUÏTS (I II)
● SCV distribuïts
● Cada usuari té com a mínim un repositori complet
Ymbra Drupal dreamers 6
7. CARACTERÍSTIQUES (I)
● Les característiques principals amb les que es
va plantejar el Git són:
● Velocitat
● Disseny simple
● Gran suport per al desenvolupament no
lineal (amb suport per a milers de branques)
● Completament distribuït
● Capacitat per a gestionar grans projectes
Ymbra Drupal dreamers 7
8. CARACTERÍSTIQUES (I II)
● Algunes de les característiques intrínseques al
Git són:
● Git desa captures, no pas diferències
● Quasi bé totes les operacions es fan en local
● Git assegura la integritat
● Git només afegeix dades (de forma general)
Ymbra Drupal dreamers 8
9. ELS TRES ESTATS DEL GIT
●El flux de treball bàsic amb Git és
el següent:
● Feu canvis als vostres fitxers al
directori de treball.
● Afegiu canvis al staging area.
● Feu un commit, el qual agafa
els fitxers tal i com estan a la
staging area, i emmagatzema
aquestes instantànies al
directori del Git.
Ymbra Drupal dreamers 9
10. CONFIGURACIÓ BÀSICA
● Abans de començar, cal identificar-nos-hi:
git config --global user.name “Ramon Vilar”
git config --global user.email “ramon@ymbra.com”
● Es recomanable donar-li una mica de color a tot
plegat:
git config --global color.status auto
git config --global color.branch auto
git config --global color.diff auto
● Si volem veure què tenim:
git config --list
Ymbra Drupal dreamers 10
11. FLUX DIARI DE TREBALL
● Crear un repositori
git init gittest
● Veure l'estat del repositori
git status
● Afegir canvis al staging area
git add <nom_fitxer 1> ... <nom_fitxer n>
● Afegir canvis al repositori
git commit
Ymbra Drupal dreamers 11
12. COMANDES ÚTILS
● “Eliminar” fitxers del repositori
git rm <nom_fitxer>
● Consultar històric de canvis
git log
● Eliminar els canvis fets al directori de treball
git checkout -- <nom_fitxer>
git checkout .
● Afegir una etiqueta
git tag <nom_etiqueta>
Ymbra Drupal dreamers 12
13. BRANQUES
● Serveixen per organitzar diverses versions del
codi
● Per crear una branca
git branch <nom_branca>
● Per canviar de branca
git checkout <nom_branca>
● Per unir/fondre dues branques
git merge <nom_branca>
Ymbra Drupal dreamers 13
14. REMOTS
● Els repositoris remots són versions del nostre
repositori que estan a la xarxa
● Descarregar-nos el codi d'un remot (només un cop)
● git clone http://git.drupal.org/project/drupal.git
● Pujar canvis
git push
● Actualitzar amb els canvis fets (descarregar)
git pull
● Proves: https://github.com/octocat/Spoon-Knife
Ymbra Drupal dreamers 14
15. RECURSOS
● Pro Git, Scott Chacon amb versió en línia
http://progit.org/book
● Llibre en línia de la comunitat http://book.git-scm.com
● Bon model d'organització de branques
http://ves.cat/a9ce
● Pàgina oficial de Git http://git-scm.com
● Bona referència per introducció a Git
http://ves.cat/a9cg
Ymbra Drupal dreamers 15