Git defineix un procés de control de versions de com s'han de compartir els projectes. Existeixen molts llocs web que us permeten allotjar els vostres projectes Git. GitHub és l'opció més popular, Bitbucket és una altra alternativa popular, ambdues permeten comptes gratuïts que poden crear repositoris públics o privats il·limitats. GitLab ofereix una alternativa d'allotjament propi que permet el desenvolupament privat sense dependre d'allotjament de tercers.
El procés per descarregar primer un repositori Git s'anomena clonació. La clonació inclou tota la informació sobre el dipòsit en aquell moment, però, per mantenir el dipòsit actualitzat al llarg del temps, heu de tirar de noves versions. Per fer-ho, només cal que obriu una finestra de terminal al directori amb la versió local del dipòsit i escriviu l'ordre "git pull".
El funcionament d'aquesta ordre és especialment senzill si només voleu descarregar una versió actualitzada del repositori; la versió local s'actualitzarà perquè coincideixi amb la versió remota. Tanmateix, és possible que vegeu que hi pot haver problemes si heu fet modificacions a la vostra versió local.
L'ordre "git pull" en realitat executa dues ordres separades "git fetch" i "git merge FETCH HEAD". La subordre "git fetch" elimina específicament la versió més recent del dipòsit en línia i l'emmagatzema temporalment. La subordre "git merge FETCH HEAD" fusiona els vostres canvis locals amb la versió baixada, preferint les confirmacions més recents.
Consell: un "git commit" és l'enviament d'un canvi, és possible tenir múltiples commits locals i remots que facin el mateix o diferents coses. Les confirmacions locals no són visibles per a la versió remota fins que no s'introdueixen els canvis. Cada confirmació detalla exactament quins canvis s'han fet i inclou una marca de temps.
Conflictes entre versions local i remota
Idealment, en un escenari de fusió, no hi haurà conflictes i el procés de fusió es completarà automàticament. Les combinacions poden ser especialment fàcils si s'han fet pocs canvis o si els vostres canvis locals no interfereixen amb cap canvi remot. Tanmateix, si hi ha canvis complexos conflictius a la mateixa part del codi, Git generarà un error de combinació.
En aquest punt, podeu avortar la fusió amb l'ordre "git merge -abort" o intentar resoldre manualment els conflictes. Les ordres "git mergetool" i "git diff" proporcionen un exemple gràfic de les diferències que haurien d'ajudar a fer tan fàcil com sigui possible veure quins canvis s'han d'aplicar manualment per permetre que la fusió es completi. Un cop hàgiu resolt tots els conflictes, escriviu l'ordre "git merge –continue" per completar la fusió.

L'ordre "git mergetool" obrirà una eina gràfica com aquesta per ajudar-vos a resoldre els conflictes manualment.