2. Instal·lació, configuració i ús de sistemes de control de versions
Els sistemes de control de versions (VCS) permeten registrar els canvis realitzats als fitxers d’un projecte i coordinar el treball entre diversos desenvolupadors.
Exemples populars: Git (el més utilitzat), Subversion (SVN), Mercurial.
Instal·lació:
- Instal·lar el programari (
git,svn, etc.) al sistema local. - Configurar el nom i correu d’usuari.
- Crear un repositori local i/o clonar un repositori remot.
Ús bàsic:
add→ afegir canvis a l’índexcommit→ confirmar canvis al repositoripush→ enviar canvis al servidor remotpull→ descarregar canvis del remotbranch→ crear o canviar de branca
Integració amb plataformes remotes: GitHub, GitLab, Bitbucket, etc.
2.1 Git
Git és un sistema de control de versions distribuït que guarda un historial complet de canvis en cada còpia del repositori.
És extremadament ràpid, flexible i escalable.
Conceptes clau:
- Repositori local i remot: cada usuari té una còpia completa de l’historial.
- Commits: punts de control que registren els canvis realitzats.
- Branches (branques): línies paral·leles de desenvolupament.
- Merge i rebase: combinació de canvis entre branques.
- Staging area (índex): zona intermèdia on es preparen els canvis abans de confirmar-los.
Flux de treball bàsic:
git clone <url>→ clona un repositori remot.git status→ comprova l’estat del repositori local.git add <fitxers>→ afegeix canvis a l’índex.git commit -m "Missatge"→ crea un nou commit.git push→ envia els commits al repositori remot.git pull→ baixa els canvis nous del remot i els integra.
Bones pràctiques amb Git:
- Fer commits freqüents i amb missatges clars i descriptius.
- Treballar en branques de funcionalitat i integrar-les a main o develop amb merge requests.
- Resoldre conflictes immediatament i amb cura.
- Utilitzar .gitignore per evitar pujar fitxers innecessaris.
- Revisar el codi amb pull/merge requests abans d’integrar canvis.
2.2. Operacions avançades
A mesura que el projecte creix, cal dominar operacions més avançades per gestionar el codi de forma eficient:
- Gestió de branques i estratègies de flux de treball (Git Flow, Trunk Based Development).
- Merge i rebase per combinar canvis entre branques.
- Resolució de conflictes en fitxers modificats per diverses persones.
- Etiquetes (tags) per marcar versions estables.
- Hooks per automatitzar accions (tests, format, desplegaments).
2.3 Seguretat dels sistemes de control de versions
La seguretat és clau per evitar pèrdua de dades i accessos no autoritzats.
Bones pràctiques:
- Limitar els permisos d’accés als repositoris (lectura/escriptura).
- Utilitzar connexions segures (SSH, HTTPS).
- Fer còpies de seguretat periòdiques dels repositoris.
- Revisar el codi abans de fer merges a branques principals.
- Evitar pujar informació sensible (claus API, contrasenyes, certificats…).
Eines útils:
.gitignoreper evitar pujar fitxers confidencials.- Escanejadors de secrets i vulnerabilitats (TruffleHog, GitGuardian…).