<div style="width: 30%; margin-left: auto;">


</div>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Llicència de Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />Aquesta obra està subjecta a una llicència de <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Reconeixement-CompartirIgual 4.0 Internacional de Creative Commons</a>
# GIT cheat sheet.

### Només instal·lar

Configurar el nom i l'email de l'usuari, sense aquestes dades no es poden fer commits.
```
git config --global user.name "nom i cognom"
git config --global user.email "el teu email"
```
### Creació repositori local

Si tenim un projecte iniciat i volem començar a treballar amb GIT en aquest projecte:
```
git init
git add .
git commit -m "Missatge del commit"
```
Si volem descarregar un repositori remot:
```
git clone "URL"
```
### La rutina diària

* `git status`: Mostra com està el nostre arbre de directoris. Ens diu quins fitxers han canviat, quins hem afegit a l'_staged area_, quina és la posició local respecte del _remot_, etc.
* `git add "Ruta"`: afegeix fitxers i/o directoris a l'staged area.
* `git reset "Ruta"`: Extreu de l'staged area sense desfer els canvis.
* `git commit -m "missatge"`: crea un nou commit.
* `git pull`: Obté nous commits del _remot_.
* `git push`: Envia nous commits al _remot_.
* `git log --oneline --graph`: mostra l'historial de commits.
* `git fetch`: Obté la informació del remot, però no canvia la nostra branca local ni l'arbre de directoris.
### Branques

* `git branch`: Lista totes les branques locals.
* `git branch "nom branca"`: crea una nova branca.
* `git checkout "nom branca"`: _Salta_ a una altra branca.
* `git merge "nom branca"`: Incorpora a la branca actual els commits de la branca que hem mencionat. Normalment crea un nou commit amb el resultat de barrejar els fitxers d'ambdues branques.
* `git rebase "nom branca"`: Mou la nostra branca actual a continuació de la branca mencionada. No realitzar mai quan estiguem en branques publicades.
### Quan l'estem liant parda

* `git reset --hard "commit|branca|tag"`: Envia la branca actual al commit especificat.
### Quan tinc una patata calenta

* `git stash`: Desa l'estat actua en una pila per a recuperar-lo més tard.
* `git stash pop`: Recupera un estat desat.
* `git stash drop`: Descarta definitivament l'estat desat.
* `git stash list`: Llista per pantalla la pila d'estats desats.