---
# System prepended metadata

title: 02. Git com a llista de commits ordenats en el temps.
tags: [' SOC', daw, ' M8', ' GIT', ' Control Versions']

---

---
title: 02. Git com a llista de commits ordenats en el temps.
tags: daw, GIT, Control Versions, M8, SOC
---

<div style="width: 30%; margin-left: auto;">
    
![](https://hackmd.io/_uploads/HJiR4eGJT.png)  
    
![image](https://hackmd.io/_uploads/By3ai4Bolx.png)
    
</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>

# 02. Git com a llista de _commits_ ordenats en el temps.
![](https://hackmd.io/_uploads/H1_wniXS3.png)


## Universos paral·lels (_branques_).
![Sense títol](https://hackmd.io/_uploads/HyfUBAcsgx.png)

Podem veure el conjunt de commits d'un repositori GIT com una llista enllaçada, on cada commit (excepte el commit inicial) conté una referència al seu predecessor. D'aquesta manera, és igual el commit al qual ens trobem, sempre podem seguir la història de modificacions fins al primer commit que es va desar al nostre repositori (no hi pot haber més d'un commit primigeni).

Cada commit té una matrícula única en forma de __hash__ que sempre podem utilitzar per a identificar-lo.

Si bé és veritat que cada commit conté una referència al seu commit antecessor, també ho és que podem generar dos o més commits o modificacions a partir del mateix, creant dues linies d'història divergents. Cadascuna d'aquestes línies independents a partir d'un commit en comú s'anomenen branques i en podem crear tantes com volguem al nostre repositori.

I com veurem més endavant també podem generar fusions de dues branques per tornar a unificar les històries a partir d'un punt.

### Creació de noves branques.
![Sense títol](https://hackmd.io/_uploads/SkAPHRcjxl.jpg)

Podem generar una nova branca amb la comanda "git branch <nom_de_la_nova_branca>" i consultar la lllista de les branques existents amb "git branch".
```bash=
$ git branch nova_branca
$ git branch
* main
  nova_branca
```
Com podem observar, apareix un '__*__' al costat de la branca on estem treballant, si volem canviar de branca hem d'executar la comanda "git checkout <nom_branca>"
```bash=
$ git checkout nova_branca
Cambiado a rama 'nova_branca'
$ git branch
  main
* nova_branca
```
Els canvis que efectuem a partir d'aquest moment es desaran a la nova branca.

  Existeix una comanda que combina

L'ús de branques permet provar diferents funcionalitats durant el desenvolupament sense que es produeixin interferències entre elles.
### Practiquem una mica.
[Pràctica 02. Intro a les branques de GIT](/GFHvnRCKT4-4WeJd3LdUDg)
### Més informació.
- Podem esborrar branques amb la comanda: `$ git branch -D "nom_branca"`
- Podem _'moure'_ la nostra branca a qualsevol commit amb la comanda `$ git reset --hard hash_commit`
- 
