dimecres, 14 de gener del 2026

Treball en branques i conflictes

 Treballar en branques diferents sense actualitzar sovint els canvis és un perill. Perquè es poden crear conflictes massius a l’hora de fer el merge, com ens ha passat en aquesta última fase: en fer merge de la branch il·luminació a la de prototip, on s’havien fet canvis notables a la UI, enemics, etc.

Els fitxers de Unity són llistes de text amb milers de números (IDs). Quan hem intentat ajuntar les branques, els números no coincidien i l'escena s'ha corromput.

Els conflictes eren tan massius que la solució manual que ofereix GitHub no servia.

Arribats aquest punt, la solució que hem trobat per no repetir tota la feina ha estat la següent:

  1. Hem posat totes les llums i assets creats per la il·luminació dins d'un objecte empty al centre (0,0,0) i n'hem fet un Prefab. Això ens permet "emportar-nos" la feina a una altra escena.

  2. Merge destructiu: des de GitHub Desktop → Branch → Merge into current branch. Es realitza un merge triant l'opció de descartar els canvis locals de l'escena conflictiva en favor de la branca principal (Resolve using Theirs). Això respecta l'estructura del HUD, la UI i els scripts nous que s'han fet a prototip.

  3. Hem llançat el nostre Prefab a l'escena nova. Com que el punt de referència era el mateix, tot ha quedat on estava abans.

  4. L'únic que hem hagut de repetir és el càlcul de les llums (lightmaps) i marcar alguna geometria com a static.

Lliçons

  • Merges diaris: No s'ha de deixar passar més d'un dia sense ajuntar la feina de tots. Si els canvis són petits, Git els entén; si són gegants, exploten.

  • Tot en Prefabs: Si treballes dins de Prefabs en lloc de fer-ho directament a l'escena, potser t'estalvies alguns d’aquests conflictes.


Cap comentari:

Publica un comentari a l'entrada

Treball en branques i conflictes

 Treballar en branques diferents sense actualitzar sovint els canvis és un perill. Perquè es poden crear conflictes massius a l’hora de fer ...