A la lliçó anterior vam veure per què existeix Git i vam conèixer l'Ana, en Bruno i la Carla, l'equip que construirà gestor-tasques. Abans que l'Ana pugui convertir la seva carpeta en un repositori necessita una cosa elemental: tenir Git instal·lat. Aquesta lliçó cobreix la instal·lació als tres sistemes operatius habituals —Linux, macOS i Windows—, com verificar que ha anat bé, com consultar l'ajuda incorporada i com mantenir Git actualitzat. També aclarirem què és Git Bash, què són els clients gràfics i per què durant tot el curs treballarem amb la línia d'ordres.
És una lliçó eminentment pràctica: en acabar-la tindràs un Git funcional al teu equip i sabràs comprovar-ho.
Contingut
- Abans de començar: comprovar si ja tens Git
- Instal·lació a Linux
- Instal·lació a macOS
- Instal·lació a Windows
- Verificar la instal·lació
- L'ajuda incorporada:
git help - Git Bash, terminals i clients gràfics
- Per què la línia d'ordres en aquest curs
- Com actualitzar Git
- Abans de començar: comprovar si ja tens Git
Molts sistemes porten Git preinstal·lat o l'han instal·lat altres eines. Abans de descarregar res, obre un terminal i executa:
Hi ha dos resultats possibles:
Si veus una cosa així, ja tens Git. Comprova que la versió sigui raonablement recent (2.30 o superior és suficient per a tot el curs; 2.40 o superior és l'ideal) i salta a l'apartat 5.
Si veus això —o 'git' is not recognized... a Windows—, Git no està instal·lat o no és al PATH. Segueix l'apartat que correspongui al teu sistema.
Nota sobre versions. Git és extraordinàriament estable i compatible cap enrere: gairebé tot el que aprenguis funcionarà igual d'aquí a deu anys. Tot i així, algunes comoditats modernes (com
git switchogit restore, que veurem als mòduls 2 i 3) requereixen Git 2.23 o superior, i certs valors per defecte assenyats van arribar a la 2.28. Val la pena no quedar-se en una versió antiga.
- Instal·lació a Linux
A Linux, Git s'instal·la des del gestor de paquets de la distribució. És la via recomanada: el sistema s'encarrega de les dependències i de les actualitzacions.
Debian, Ubuntu, Linux Mint (apt)
Desglossament de les ordres:
sudoexecuta l'ordre amb privilegis d'administrador, necessaris per instal·lar programari a tot el sistema. Demanarà la teva contrasenya.apt updaterefresca la llista de paquets disponibles i les seves versions. No actualitza cap programa; només posa al dia el catàleg. Ometre aquest pas és la causa més freqüent que s'instal·li una versió antiga.apt install gitdescarrega i instal·la el paquetgiti les seves dependències.
Fedora, RHEL, CentOS Stream, Rocky Linux (dnf)
En sistemes antics amb yum en lloc de dnf, l'ordre equivalent és sudo yum install git.
Altres distribucions
| Distribució | Ordre |
|---|---|
| Arch Linux, Manjaro | sudo pacman -S git |
| openSUSE | sudo zypper install git |
| Alpine Linux | sudo apk add git |
| Gentoo | sudo emerge --ask dev-vcs/git |
Paquets complementaris útils
El paquet git bàsic inclou tot l'essencial, però algunes distribucions separen extres que convé tenir:
# Debian/Ubuntu: interfície gràfica mínima (gitk i git gui) i utilitats de correu
sudo apt install gitk git-gui git-emailgitkés un visor gràfic de l'historial que ve amb Git.git-guiés un client gràfic mínim per preparar i confirmar canvis.git-emailhabilita l'enviament de pedaços per correu, utilitzat en projectes com el kernel de Linux.
Cap no és imprescindible per al curs.
Instal·lar l'última versió a Ubuntu
Les distribucions estables solen anar una mica endarrerides. Si necessites la versió més recent, existeix un repositori oficial mantingut per l'equip de Git:
add-apt-repository afegeix una font de paquets addicional; a partir d'aquí, apt la tractarà com qualsevol altra i oferirà actualitzacions automàtiques de Git.
- Instal·lació a macOS
A macOS hi ha tres camins. L'ordre en què els presentem és també l'ordre de preferència.
Opció A: Homebrew (recomanada)
Homebrew és el gestor de paquets de facto a macOS. Si encara no el tens:
Aquesta ordre descarrega l'script oficial d'instal·lació i l'executa. Desglossament: curl descarrega l'URL (-fsSL significa "falla en errors, mode silenciós, mostra errors, segueix redireccions") i $( ) passa el resultat a bash perquè l'executi.
Amb Homebrew ja disponible:
Homebrew instal·la Git a /opt/homebrew/bin/git (Apple Silicon) o /usr/local/bin/git (Intel), rutes que tenen prioritat sobre la versió del sistema al PATH. Així sempre tindràs una versió actualitzada.
Opció B: Command Line Tools de Xcode
macOS inclou una versió de Git dins de les eines de desenvolupament d'Apple. S'instal·len amb:
Apareixerà una finestra del sistema demanant confirmació. També es disparen automàticament el primer cop que escrius git en un terminal sense tenir-les instal·lades.
Avantatge: no requereix res més. Inconvenient: la versió sol anar diversos mesos o anys endarrerida, i només s'actualitza amb les actualitzacions del sistema.
Opció C: Instal·lador binari oficial
Existeixen instal·ladors .dmg a git-scm.com/download/mac. És una opció vàlida si no vols gestors de paquets, però l'actualització queda a les teves mans.
Comparativa a macOS
| Mètode | Versió | Actualitzacions | Requisits |
|---|---|---|---|
| Homebrew | La més recent | brew upgrade git |
Instal·lar Homebrew |
| Command Line Tools | Endarrerida | Amb el sistema | Cap |
Instal·lador .dmg |
Recent en instal·lar | Manuals | Cap |
- Instal·lació a Windows
Windows no inclou Git, així que cal instal·lar-lo. Hi ha tres vies.
Opció A: instal·lador oficial "Git for Windows" (recomanada)
Descarrega l'instal·lador des de git-scm.com/download/win i executa'l. L'auxiliar fa bastantes preguntes; aquestes són les que importen i les respostes recomanades:
| Pantalla de l'auxiliar | Elecció recomanada | Per què |
|---|---|---|
| Select Components | Marcar "Git Bash Here" i "Git GUI Here" | Afegeix accés ràpid des del menú contextual de l'explorador |
| Default editor used by Git | Visual Studio Code (o el que facis servir) | Evita quedar atrapat a Vim sense saber-ne sortir; es tracta a 01-06 |
| Initial branch name | "Override... " → main |
Nom de branca principal modern; també es pot fixar després (01-06) |
| Adjusting your PATH | "Git from the command line and also from 3rd-party software" | Permet fer servir git des de PowerShell i CMD, no només des de Git Bash |
| Choosing the SSH executable | "Use bundled OpenSSH" | Suficient per a tot el curs |
| HTTPS transport backend | "Use the native Windows Secure Channel library" | Respecta els certificats corporatius instal·lats a Windows |
| Line ending conversions | "Checkout Windows-style, commit Unix-style" | Configura core.autocrlf=true; ho expliquem a 01-06 |
| Terminal emulator | "Use MinTTY" | Millor terminal que la consola de Windows per a Git Bash |
| Credential helper | "Git Credential Manager" | Desa les credencials; es detalla a 01-06 i al mòdul 4 |
Si dubtes en alguna pantalla no marcada aquí, deixa el valor per defecte: són eleccions assenyades i gairebé totes es poden canviar després amb git config.
Opció B: gestors de paquets de Windows
Si prefereixes una instal·lació desatesa:
O amb Chocolatey:
winget ve inclòs a Windows 10 i 11 moderns. El paràmetre -e força coincidència exacta de l'identificador per no instal·lar un paquet semblant per error.
Opció C: WSL (Windows Subsystem for Linux)
WSL executa una distribució Linux real dins de Windows. Si desenvolupes amb eines del món Unix (Node.js, Python, Docker), sol ser la millor experiència.
Un cop dins de la distribució (Ubuntu per defecte), Git s'instal·la com a qualsevol Linux:
Advertència important amb WSL. El Git de Windows i el Git de WSL són dues instal·lacions diferents, amb configuracions independents. A més, treballar des de WSL sobre fitxers emmagatzemats al disc de Windows (
/mnt/c/...) és notablement lent i provoca problemes amb els permisos i els finals de línia. La recomanació és desar els repositoris dins del sistema de fitxers de Linux (~/projectes/...) i fer servir només el Git de WSL.
Comparativa a Windows
| Mètode | Terminal | Rendiment | Recomanat per a |
|---|---|---|---|
| Git for Windows | Git Bash, PowerShell, CMD | Bo | Ús general, començar de zero |
| winget / Chocolatey | Igual que l'anterior | Bo | Instal·lacions automatitzades |
| WSL | Terminal Linux | Excel·lent (dins de WSL) | Desenvolupament amb eines Unix |
- Verificar la instal·lació
Independentment del sistema, tanca i torna a obrir el terminal (perquè reculli els canvis al PATH) i executa:
Sortida esperada, amb el número que correspongui:
Comprovacions addicionals útils:
# On està instal·lat l'executable
which git # Linux, macOS, Git Bash
where git # PowerShell / CMD a WindowsL'última ordre imprimeix una llista llarga. No cal entendre-la; serveix per confirmar que la instal·lació és completa i no truncada.
Si git --version continua fallant
| Símptoma | Causa probable | Solució |
|---|---|---|
command not found just després d'instal·lar |
El terminal conserva el PATH antic |
Tancar i obrir el terminal |
'git' is not recognized a Windows |
No es va marcar l'opció de PATH a l'instal·lador |
Reexecutar l'instal·lador i triar "Git from the command line..." |
| Versió més antiga que la instal·lada | Hi ha dues instal·lacions i guanya la del sistema | which -a git per veure-les totes; ajustar l'ordre del PATH |
| Permís denegat a Linux | Es va intentar instal·lar sense sudo |
Repetir amb sudo |
- L'ajuda incorporada:
git help
git helpGit porta la seva documentació completa dins del mateix programa. Aprendre a consultar-la és més valuós que memoritzar opcions.
Aquesta ordre obre la pàgina de manual de git config. A Linux i macOS es mostra amb el paginador less: es navega amb les fletxes o espai, es busca amb /paraula i se'n surt amb q. A Windows, git help obre per defecte la versió HTML al navegador.
Existeixen tres formes equivalents de demanar el manual d'una ordre:
Per a una consulta ràpida, sense obrir el manual complet, existeix el resum d'opcions:
La -h minúscula imprimeix unes poques línies amb la sintaxi i les opcions principals directament al terminal. És l'opció que més faràs servir en el dia a dia.
| Ordre | Què mostra | Quan fer-la servir |
|---|---|---|
git help |
Índex d'ordres habituals | Per orientar-se |
git help <ordre> |
Manual complet | Per entendre a fons |
git <ordre> -h |
Resum breu d'opcions | Consulta ràpida |
git help -a |
Totes les subordres | Per explorar |
git help -g |
Guies conceptuals incloses | Lectura de fons |
Prova git help -g: Git inclou guies temàtiques com gittutorial, giteveryday o gitglossary, que es llegeixen amb git help giteveryday.
- Git Bash, terminals i clients gràfics
Què és Git Bash
Git Bash és un component exclusiu de Windows que ve amb l'instal·lador oficial. No és Git: és un emulador de terminal que porta amb ell un intèrpret Bash i un conjunt d'utilitats Unix (ls, grep, ssh, curl, vim…) compilades per a Windows.
Existeix per una raó pràctica: la documentació de Git, els exemples d'internet i els hooks (scripts que s'executen automàticament, mòdul 6) assumeixen un entorn Unix. Git Bash proporciona aquest entorn sense sortir de Windows.
| Terminal a Windows | Funciona git? |
Ordres Unix (ls, grep)? |
|---|---|---|
| Git Bash | Sí | Sí |
| PowerShell | Sí, si es va marcar l'opció de PATH |
Parcialment, amb àlies diferents |
| CMD | Sí, si es va marcar l'opció de PATH |
No |
| WSL | Sí, el Git de Linux | Sí, natius |
Si ets a Windows, fes servir Git Bash per seguir el curs: les ordres de les lliçons funcionaran tal com estan escrites. A Linux i macOS, el terminal del sistema ja és suficient.
Què són els clients gràfics
Un client gràfic (GUI) és una aplicació amb finestres i botons que executa ordres de Git per sota. Els més coneguts:
| Client | Plataformes | Notes |
|---|---|---|
gitk / git gui |
Totes | Vénen amb Git; austers però sempre disponibles |
| GitHub Desktop | Windows, macOS | Molt senzill, orientat a GitHub |
| Sourcetree | Windows, macOS | Gratuït, complet, una mica pesat |
| GitKraken | Totes | Visualització de l'historial molt acurada |
| Fork | Windows, macOS | Lleuger i ràpid |
| Integració a l'editor | Totes | VS Code, IntelliJ, Vim i altres porten suport de Git |
Els clients gràfics són útils, sobretot per revisar diferències i navegar per l'historial. No hi ha res de dolent a fer-los servir, i molts professionals combinen terminal per operar i GUI per inspeccionar.
- Per què la línia d'ordres en aquest curs
Aquest curs fa servir exclusivament la línia d'ordres, per raons concretes:
- És l'única interfície completa. Tots els clients gràfics implementen un subconjunt de Git. Tard o d'hora necessitaràs alguna cosa que la teva GUI no ofereix, i llavors caldrà obrir el terminal igualment.
- És universal. Un servidor d'integració contínua, una màquina remota per SSH o el portàtil d'un company no tenen la teva GUI instal·lada, però tots tenen
gital terminal. - Ensenya el model, no l'eina. Els botons amaguen el que passa. Escriure
git commitdesprés degit addobliga a entendre que hi ha dos passos, i aquest enteniment és el que fa que puguis resoldre problemes. - La documentació i les respostes estan en ordres. Qualsevol manual, incidència o resposta que trobis estarà expressada en ordres, no en "fes clic aquí".
- És més ràpida un cop apresa. I s'automatitza: les ordres s'encadenen en scripts, els gràfics no.
Consell pràctic. Aprèn primer al terminal i afegeix després el client gràfic que et vingui de gust. L'ordre invers deixa llacunes difícils de tancar.
- Com actualitzar Git
Mantenir Git al dia aporta correccions de seguretat, millores de rendiment i ordres noves. Les ordres d'actualització segons el sistema:
# Debian / Ubuntu
sudo apt update && sudo apt upgrade git
# Fedora
sudo dnf upgrade git
# Arch Linux
sudo pacman -Syu git
# macOS amb Homebrew
brew update && brew upgrade git
# Windows amb winget
winget upgrade --id Git.Git -eA Windows, a més, les versions modernes de Git incorporen una ordre pròpia d'actualització:
Aquesta ordre comprova si hi ha una versió més recent de Git for Windows, la descarrega i llança l'instal·lador. Només existeix a Windows.
Per comprovar quina versió és l'última publicada, consulta git-scm.com o executa l'ordre d'actualització del teu gestor de paquets: si no hi ha res nou, t'ho dirà.
Actualitzar no trenca res. Els repositoris existents continuen funcionant igual després d'actualitzar: el format al disc és compatible cap enrere des de fa més d'una dècada. Actualitzar és segur.
Errors Habituals i Consells
- No tancar el terminal després d'instal·lar. El
PATHes llegeix en obrir la sessió del terminal. Si acabes d'instal·lar Git igit --versionfalla, tanca'l i obre'l de nou abans de donar res per perdut. - Oblidar
apt updateabans d'apt install. Sense refrescar el catàleg pots acabar instal·lant una versió molt antiga o rebre un error de paquet no trobat. - A Windows, no marcar l'opció del
PATH. Si tries "Use Git from Git Bash only",gitno funcionarà ni a PowerShell ni a VS Code. S'arregla reexecutant l'instal·lador. - Barrejar el Git de Windows i el de WSL sobre la mateixa carpeta. Provoca conflictes de permisos, finals de línia diferents i configuracions creuades. Tria'n un i desa els repositoris al seu sistema de fitxers natiu.
- Instal·lar Git des d'un
.zipdescomprimit a mà. Funciona, però no queda registrat al sistema i les actualitzacions es converteixen en un problema. Fes servir sempre el gestor de paquets o l'instal·lador oficial. - Consell: fixa el teu editor durant la instal·lació a Windows. Si deixes el valor per defecte acabaràs a Vim el primer cop que Git et demani escriure un missatge. Es pot canviar després (lliçó 01-06), però és una sorpresa desagradable.
- Consell: instal·la també
gitka Linux. És un visor de l'historial molt útil per entendre el que estàs aprenent, i no interfereix amb l'ús del terminal.
Exercicis
Exercici 1: Auditoria de la teva instal·lació
Executa les ordres necessàries per respondre a aquestes cinc preguntes sobre el teu equip, i anota tant l'ordre feta servir com el resultat:
- Quina versió de Git tens instal·lada?
- A quina ruta és l'executable?
- Hi ha més d'una instal·lació de Git al teu
PATH? - Quantes subordres ofereix la teva instal·lació?
- Quines guies conceptuals inclou la documentació?
Exercici 2: Explorar l'ajuda
Sense buscar a internet, fes servir exclusivament l'ajuda incorporada de Git per esbrinar:
- Què fa l'opció
--globalde l'ordregit config. - Quina ordre de Git serveix per "mostrar l'estat del directori de treball" (busca-la a la llista d'ordres habituals).
- El nom de la guia inclosa que resumeix l'ús diari de Git.
Indica en cada cas quina ordre vas executar.
Exercici 3: Pla d'instal·lació per a l'equip
L'equip de gestor-tasques és heterogeni: l'Ana treballa a Ubuntu, en Bruno en un MacBook amb Apple Silicon i la Carla a Windows 11. Redacta unes instruccions breus per a cadascun amb: (a) l'ordre o mètode d'instal·lació, (b) com verificar que ha funcionat i (c) una advertència específica de la seva plataforma.
Solucions
Solució a l'Exercici 1
# 1. Versió instal·lada
git --version
# → git version 2.51.0 (el número variarà)
# 2. Ruta de l'executable
which git # Linux, macOS, Git Bash
where git # PowerShell o CMD
# → /usr/bin/git, /opt/homebrew/bin/git, C:\Program Files\Git\cmd\git.exe...
# 3. Totes les instal·lacions al PATH
which -a git # l'opció -a mostra totes les coincidències, no només la primera
# Si apareix més d'una línia, tens diverses instal·lacions: guanya la primera
# 4. Nombre de subordres
git help -a | wc -l
# wc -l compta línies; el número exacte varia segons versió i instal·lació
# 5. Guies incloses
git help -g
# → gitcore-tutorial, giteveryday, gitglossary, gitworkflows, gittutorial...Solució a l'Exercici 2
--globalagit config:
La documentació indica que --global escriu al fitxer de configuració de l'usuari (~/.gitconfig), aplicable a tots els repositoris d'aquest usuari. És el nivell que farem servir a la lliçó 01-05.
- Ordre d'estat:
A la secció d'ordres habituals apareix status amb la descripció "Show the working tree status". L'ordre és git status i la farem servir operativament al mòdul 2.
- Guia d'ús diari:
La guia és giteveryday, que es llegeix amb git help giteveryday. Resumeix les vint ordres que cobreixen el 95 % de l'ús real.
Solució a l'Exercici 3
Ana — Ubuntu
Advertència: la versió dels repositoris oficials d'Ubuntu pot anar diverses versions endarrerida. Si necessita l'última, ha d'afegir el PPA ppa:git-core/ppa abans d'instal·lar.
Bruno — macOS (Apple Silicon)
Advertència: macOS porta el seu propi Git a /usr/bin/git a través de les Command Line Tools. Si which git retorna aquesta ruta en lloc de la de Homebrew, el PATH està mal ordenat i continuarà fent servir la versió antiga.
Carla — Windows 11
Descarregar l'instal·lador de git-scm.com/download/win i, durant l'auxiliar, triar "Git from the command line and also from 3rd-party software" a la pantalla del PATH, main com a nom de branca inicial i el seu editor habitual.
Advertència: si no marca l'opció del PATH, git funcionarà només dins de Git Bash i fallarà a PowerShell i al seu editor. A més, ha de seguir el curs des de Git Bash perquè les ordres de les lliçons funcionin literalment.
Conclusió
Ja tens Git instal·lat i verificat. Hem vist que a Linux s'instal·la amb el gestor de paquets de la distribució, a macOS el més pràctic és Homebrew (amb les Command Line Tools com a alternativa sense requisits) i a Windows l'instal·lador oficial de Git for Windows, que a més aporta Git Bash, l'entorn de terminal amb el qual convé seguir el curs. La comprovació bàsica és sempre la mateixa —git --version— i la documentació completa viu dins del mateix programa, accessible amb git help <ordre> o, per a consultes ràpides, git <ordre> -h.
També hem justificat la decisió metodològica del curs: treballarem a la línia d'ordres perquè és la interfície completa, universal i la que ensenya el model de Git en lloc d'amagar-lo. Els clients gràfics són un complement excel·lent, no un substitut.
Tenir l'eina no n'hi ha prou: cal entendre'n el vocabulari. A la lliçó següent, Terminologia Bàsica de Git, construirem el glossari que sosté tota la resta —repositori, àrea de preparació, confirmació, HEAD, branca, remot— i veurem el diagrama dels tres estats pels quals passa qualsevol fitxer a Git.
Dominant Git: De Principiant a Avançat
Mòdul 1: Introducció a Git
- Què és Git?
- Instal·lant Git
- Terminologia Bàsica de Git
- El Model de Dades de Git
- Configurant Git
- Configuració Inicial
Mòdul 2: Operacions Bàsiques de Git
- Creant un Repositori
- Clonant un Repositori
- Flux de Treball Bàsic de Git
- Preparant i Confirmant Canvis
- Inspeccionant Canvis amb git diff
- Visualitzant l'Historial de Confirmacions
Mòdul 3: Branques i Fusió
- Entenent les Branques
- Creant i Canviant Branques
- Fusionant Branques
- Estratègies de Fusió
- Resolent Conflictes de Fusió
- Gestió de Branques
Mòdul 4: Treballant amb Repositoris Remots
- Entenent els Repositoris Remots
- Afegint un Repositori Remot
- Autenticació amb Repositoris Remots
- Obtenint i Baixant Canvis
- Enviant Canvis
- Rastrejant Branques
Mòdul 5: Operacions Avançades de Git
- Rebase
- Rebase Interactiu
- Cherry-Picking de Confirmacions
- Desant Canvis Temporals
- Etiquetant Confirmacions
- Revertint Confirmacions
Mòdul 6: Eines i Tècniques de Git
- Usant Git Hooks
- Git Bisect
- Git Blame
- Git Log i Àlies
- Submòduls de Git
- Múltiples Còpies de Treball amb git worktree
Mòdul 7: Estratègies de Col·laboració i Flux de Treball
- Forks i Pull Requests
- Revisions de Codi amb Git
- Flux de Treball Git Flow
- GitHub Flow
- Trunk Based Development
- Integració Contínua amb Git
Mòdul 8: Bones Pràctiques i Consells de Git
- Escrivint Bons Missatges de Confirmació
- Mantenint un Historial Net
- Ignorant Fitxers amb .gitignore
- Atributs de Fitxer amb .gitattributes
- Bones Pràctiques de Seguretat
- Consells de Rendiment
Mòdul 9: Resolució de Problemes i Depuració
- Problemes Habituals de Git
- Desfent Canvis
- Resolent Divergències amb el Remot
- Recuperant Confirmacions Perdudes
- Tractant amb Repositoris Corruptes
- Tècniques Avançades de Depuració
