Categoria:Programació
1. Concepte
GIT és un sistema de control de versions distribuit (tots els ordinadors tenen tota la informació, fitxers i història) i gratuït.
GITHub és un SaaS (sitema en el núbol per gestionar els repositoris).
2. Instal·lació de GIT
Instal·lem sobre Debian, Ubuntu, Lliurex…
> $ sudo apt-get install git
Revisem la versió
> $ git --version
Ens situem dintre del directori a contolar
> $ cd control
Inicialitzem el repositori
> $ git init
S’inicia un repositori creant-se una carpeta oculta dins de la carpeta de treball (.git)
També podrem clonar el repositori
> $ git clone git://github.com
3. Fluxe de treball amb GIT
Afegim un fitxer
> $ git add fitxer
HEAD: lloc on li hem dit a GIT que les modificacions ja són vàlides.
Quan guardem un fitxer podem posar un comentari o aclariment
> $ git commit -m 'missatge'
Pugem els fitxers al respositori
> $ git push origin master
MASTER: branca del repositori on es van a fer els canvis.
ORIGIN: repositori remot
Podem definir altres repositoris als quals també podrem pujar el codi
> $ git remote add nombre <servers>
Per obtnir els canvis del repositori
> $ git pull origin master
3. Branques en GIT
Tots els projectes, per defecte, tenen la branca MASTER on, al final, acaben totls els desenvolupaments que fem.
Podem definir altra branca, per exemple, DEVELOP on anar fent tots els xicotets canvis que necessitem fer.
Per canviar de branca, per situar-nos a una altra branca
> $ git checkout -b develop
checkout → canvia de branca -b → crea la branca
Quan arribem a un punt on tots els canvis que hem anat fent son estables i ens interessa que apareguen en la branca MASTER farem un merge.
Primer ens situem en la branca MASTER
> $ git checkout master
Ara li diguem que porte els canvis que hem fet a DEVELOP
> $ git merge develop
Ara tindrem una nova versió a la branca MASTER
Pot passar que hi hagen problemes al fer el merge, en cas que GIT no sàpiga distingir quinies són les líies bones ens ho preguntarà.
4. Etiquetes en GIT
Podem definir etiquetes per a gestionar versions del nostre codi o punts importants de desenvolupament, de forma que després ens siga fàcil identificar les fases de desenvolupament
> $ git tag -a v1.0 -m 'Versió 1.0'
5. Banques en GIT
Les branques són línies de treball que tenen un objectiu. Posem un exemple de diferents branques amb diferents objectius de fases del treball.
MASTER: branca principal on aniran tots els canvis finals, així que, en aquest cas podriem etiquetar diverses versions explicitant les fases V0.1, v0.2, v0.3, etc.
DEVELOP: branca on es realitzen canvis més xicotets, però també es proven. Pot tenir diverses subbranques.
RELEASE: branca on podem agrupar certs pasos endaavnt, quan está provada podrem incorporar-ho a MASTER.
6. Si fallem podem tronar enrere
> $ git checkout --fitxer
Inclús podem dir “tot el que hem fet pins ara no val per a res”
> $ git fetch origin && git reset --hard origin/master