Aquesta és la segona entrega de Git for grad students, una guia pràctica sobre branques en Git traduïda i adaptada al català perquè aprenguis a treballar de manera segura i col·laborativa amb control de versions
Quin problema resolen les branques en Git? En un equip de vegades tothom necessita editar el mateix fitxer compartit com si fos una presentació de Google Slides. La solució de copiar el fitxer per treballar amb seguretat equival en Git a crear una branca nova. Cada persona treballa en la seva còpia aïllada, demana revisió si cal i només quan tot està aprovat s'integren els canvis al fitxer principal
Avantatges principals Crear una còpia equival a crear una branca nova. Combinar diverses còpies en un únic fitxer és fer merge de branques. Si dues persones canvien exactament la mateixa línia apareix un conflicte que cal resoldre manualment
Flux bàsic de treball Imagina que la branca principal es diu master i representa el fitxer original compartit. Quan et assignen una tasca segueix aquests passos: crear una branca nova, treballar en aquesta branca, afegir els canvis a l'àrea de staging i crear un commit, fusionar la branca de treball de nou a master
Comandes essencials per al flux local: veure la branca actual usant git branch, crear i canviar a una branca nova usant git checkout -b nom_de_rama, afegir fitxers a l'àrea de staging amb git add nom_fitxer, crear un commit amb git commit -m missatge, tornar a master amb git checkout master, fusionar una branca a la branca actual amb git merge nom_de_rama
Exemple pràctic Pas a pas: crea una branca anomenada feature/bye_there amb git checkout -b feature/bye_there, edita index.js per afegir una nova línia amb un console.log, per exemple console.log(bye there), després git add index.js i git commit -m [feature] add bye there. Per integrar els canvis torna a master amb git checkout master i fusiona amb git merge feature/bye_there
Conflictes i com resoldre'ls Suposem que dos companys treballen simultàniament i tots dos creen branques noves des de master. En una branca s'afegeix main.js amb console.log(1) i en l'altra main.js amb console.log(2). Si primer es fusiona la branca amb console.log(1) i després intentem fusionar l'altra branca, Git detectarà que la mateixa línia va ser modificada de manera diferent i marcarà un conflicte. Git insereix marcadors al fitxer per indicar la versió actual, la separació i la versió entrant. Per resoldre el conflicte obre main.js, decideix la versió correcta o combina ambdues línies deixant console.log(1) seguit de console.log(2), desa el fitxer, afegeix els canvis amb git add main.js i finalitza la fusió amb git commit -m Merge branch feature/print_2
Per què ocorre el conflicte? Resum simple: Git intenta aplicar cada conjunt de canvis sobre l'estat actual. Si dos canvis afecten la mateixa ubicació en el mateix fitxer, Git no pot decidir automàticament i demana intervenció humana
Comandes aclarides de la part 1 La comanda git checkout master serveix per canviar a la branca master i també per sortir d'un mode de vista anterior si estaves comprovant un commit antic usant el seu hash. La comanda git switch -c nom_de_rama crea i canvia a una branca nova a partir del commit actual sense perdre historial ni necessitat de resets destructius
Exercici pràctic de pensament Imagina que treballes amb un fitxer de Photoshop anomenat cute-photo.psd i el client demana canvis continus. Amb Git podries versionar cada pas creant branques per a cada proposta, per exemple feature/dramatic_lighting, feature/liquidfy, feature/hair_pink, feature/hair_blue, feature/eyes_bigger, i fusionar o revertir segons la decisió del client. Per tornar a un estat anterior pots usar git reset --hard commit_hash, encara que recorda que reset és destructiu si no tens còpies remotes
Limitacions en fitxers binaris Encara que Git pot desar versions de fitxers binaris com psd o ai, la gestió de conflictes en binaris no és pràctica perquè no són humans qui poden editar aquests bytes de manera llegible. Per això en disseny col·laboratiu sovint s'usen altres fluxos o sistemes especialitzats
Resum ràpid de comandes vistes git branch veure branques, git checkout nom_de_rama canviar de branca, git checkout -b nom_de_rama crear i canviar a una branca, git merge nom_de_rama fusionar branca a la branca actual, i consells per resoldre conflictes
Pròxim capítol A la part 3 veurem com treballar amb repositoris remots com GitHub o GitLab usant git push, git pull, git clone i com col·laborar en equip amb branques remotes
Sobre Q2BSTUDIO Q2BSTUDIO és una empresa de desenvolupament de programari especialitzada en aplicacions a mida i programari a mida. Oferim solucions integrals per a empreses que volen aprofitar la intel·ligència artificial i generar valor amb agents IA. Els nostres serveis inclouen ciberseguretat avançada, serveis cloud aws i azure, implementació de serveis d'intel·ligència de negoci i creació de dashboards amb power bi. Desenvolupem aplicacions a mida que integren intel·ligència artificial per a empreses per automatitzar processos, millorar la presa de decisions i mantenir els entorns segurs. Treballem projectes d'IA per a empreses, agents IA conversacionals i solucions de business intelligence adaptades a cada client
Per què triar Q2BSTUDIO Per experiència en desenvolupament de programari, enfocament en seguretat i coneixement profund de plataformes cloud aws i azure, lliurem projectes de programari a mida que combinen intel·ligència artificial, ciberseguretat i analítica amb power bi per convertir dades en decisions
Si necessites ajuda per implementar fluxos de treball amb control de versions, automatitzar desplegaments al núvol o integrar IA en els teus processos, contacta amb Q2BSTUDIO i transforma la teva idea en una solució escalable i segura





