Els submòduls de Git són una característica poderosa que permet incloure un repositori Git dins d'un altre repositori Git. Això és especialment útil quan es treballa en projectes grans que depenen d'altres projectes o biblioteques. En aquesta secció, aprendrem què són els submòduls, com afegir-los, actualitzar-los i gestionar-los.
Què són els Submòduls de Git?
Un submòdul és un repositori Git que es troba dins d'un altre repositori Git. Això permet que un projecte principal inclogui i gestioni dependències d'altres projectes de manera eficient.
Avantatges dels Submòduls
- Modularitat: Permet dividir un projecte gran en parts més petites i manejables.
- Reutilització de Codi: Facilita la reutilització de codi entre diferents projectes.
- Historial Independent: Cada submòdul manté el seu propi historial de commits, independent del repositori principal.
Afegint un Submòdul
Per afegir un submòdul a un repositori Git, utilitzem el comandament git submodule add
. A continuació, es mostra un exemple pràctic:
# Clonem el repositori principal git clone https://github.com/usuari/repo-principal.git cd repo-principal # Afegim el submòdul git submodule add https://github.com/usuari/repo-submodul.git path/al/submodul
Explicació del Codi
- Clonem el repositori principal: Primer, clonem el repositori principal on volem afegir el submòdul.
- Afegim el submòdul: Utilitzem
git submodule add
seguit de l'URL del repositori del submòdul i el camí on volem que es col·loqui dins del repositori principal.
Inicialitzant i Actualitzant Submòduls
Després d'afegir un submòdul, és necessari inicialitzar-lo i actualitzar-lo per obtenir el seu contingut.
Explicació del Codi
- Inicialitzem els submòduls:
git submodule init
configura els submòduls en el repositori local. - Actualitzem els submòduls:
git submodule update
descarrega el contingut dels submòduls.
Treballant amb Submòduls
Cometent Canvis en un Submòdul
Quan es fan canvis dins d'un submòdul, aquests canvis han de ser comesos dins del submòdul mateix.
# Entrem al directori del submòdul cd path/al/submodul # Fem canvis i els comitem git add . git commit -m "Missatge del commit" # Tornem al repositori principal cd ../.. # Comitem l'actualització del submòdul en el repositori principal git add path/al/submodul git commit -m "Actualització del submòdul"
Actualitzant Submòduls a la darrera Versió
Per actualitzar un submòdul a la darrera versió disponible, utilitzem el següent comandament:
# Entrem al directori del submòdul cd path/al/submodul # Actualitzem el submòdul git pull origin main # Tornem al repositori principal cd ../.. # Comitem l'actualització del submòdul en el repositori principal git add path/al/submodul git commit -m "Actualització del submòdul a la darrera versió"
Eliminant un Submòdul
Per eliminar un submòdul, cal seguir diversos passos:
- Eliminem l'entrada del submòdul del fitxer
.gitmodules
:
- Eliminem el directori del submòdul:
- Comitem els canvis:
Exercicis Pràctics
Exercici 1: Afegir un Submòdul
- Clona un repositori principal.
- Afegeix un submòdul a aquest repositori.
- Inicialitza i actualitza el submòdul.
Solució
git clone https://github.com/usuari/repo-principal.git cd repo-principal git submodule add https://github.com/usuari/repo-submodul.git path/al/submodul git submodule init git submodule update
Exercici 2: Actualitzar un Submòdul
- Entra al directori del submòdul.
- Actualitza el submòdul a la darrera versió.
- Comita els canvis en el repositori principal.
Solució
cd path/al/submodul git pull origin main cd ../.. git add path/al/submodul git commit -m "Actualització del submòdul a la darrera versió"
Resum
En aquesta secció, hem après què són els submòduls de Git, com afegir-los, inicialitzar-los, actualitzar-los i eliminar-los. Els submòduls són una eina poderosa per gestionar dependències i modularitzar projectes grans. Amb la pràctica, esdevindràs més còmode treballant amb submòduls i aprofitant els seus avantatges en els teus projectes.
Dominar Git: De Principiant a Avançat
Mòdul 1: Introducció a Git
Mòdul 2: Operacions Bàsiques de Git
- Creant un Repositori
- Clonant un Repositori
- Flux de Treball Bàsic de Git
- Preparant i Cometent Canvis
- Veient l'Historial de Commits
Mòdul 3: Branques i Fusió
- Entenent les Branques
- Creant i Canviant de Branques
- Fusionant Branques
- Resolent Conflictes de Fusió
- Gestió de Branques
Mòdul 4: Treballant amb Repositoris Remots
- Entenent els Repositoris Remots
- Afegint un Repositori Remot
- Recuperant i Traient Canvis
- Empenyent Canvis
- Seguint Branques
Mòdul 5: Operacions Avançades de Git
Mòdul 6: Eines i Tècniques de Git
Mòdul 7: Estratègies de Col·laboració i Flux de Treball
- Forking i Pull Requests
- Revisions de Codi amb Git
- Flux de Treball Git Flow
- GitHub Flow
- Integració Contínua amb Git
Mòdul 8: Millors Pràctiques i Consells de Git
- Escrivint Bons Missatges de Commit
- Mantenint un Historial Netejat
- Ignorant Fitxers amb .gitignore
- Millors Pràctiques de Seguretat
- Consells de Rendiment
Mòdul 9: Resolució de Problemes i Depuració
- Problemes Comuns de Git
- Desfent Canvis
- Recuperant Commits Perduts
- Tractant amb Repositoris Corruptes
- Tècniques Avançades de Depuració