A Git verziókezelési folyamatokat határoz meg a projektek megosztásához. Számos webhely létezik, amelyek lehetővé teszik a Git-projektek fogadását. A GitHub a legnépszerűbb lehetőség, a Bitbucket pedig egy másik népszerű alternatíva, mindkettő ingyenes fiókokat tesz lehetővé, amelyek korlátlan számú nyilvános vagy privát adattárat hozhatnak létre. A GitLab saját üzemeltetésű alternatívát kínál, amely lehetővé teszi a privát fejlesztést anélkül, hogy harmadik fél tárhelyére kellene támaszkodnia.
A Git-tárhely első letöltésének folyamatát klónozásnak nevezik. A klónozás magában foglalja a lerakatról akkori összes információt, azonban ahhoz, hogy a tárat idővel naprakészen tartsa, le kell húznia az új verziókat. Ehhez egyszerűen nyisson meg egy terminálablakot a lerakat helyi verzióját tartalmazó könyvtárban, és írja be a „git pull” parancsot.
Ennek a parancsnak a működése különösen egyszerű, ha csak a tároló frissített verzióját szeretné letölteni; a helyi verzió frissítésre kerül, hogy megfeleljen a távoli verziónak. Láthatja azonban, hogy problémák adódhatnak, ha módosította a helyi verziót.
A „git pull” parancs valójában két különálló „git fetch” és „git merge FETCH HEAD” parancsot futtat. A „git fetch” alparancs kifejezetten leveszi a legújabb verziót az online adattárból, és ideiglenesen eltárolja. A „git merge FETCH HEAD” alparancs ezután egyesíti a helyi változtatásokat a letöltött verzióval, az újabb véglegesítések előnyben részesítése mellett.
Tipp: A „git commit” egy változtatás benyújtása, lehetséges, hogy több helyi és távoli véglegesítés is ugyanazt vagy különböző dolgokat hajt végre. A helyi véglegesítések nem láthatók a távoli verzió számára, amíg a módosításokat le nem küldik. Minden kötelezettségvállalás pontosan részletezi a végrehajtott változtatásokat, és tartalmaz egy időbélyeget is.
Ütközések a helyi és a távoli verziók között
Ideális esetben egy összevonási forgatókönyv esetén nem lesznek ütközések, és az egyesítési folyamat automatikusan befejeződik. Az összevonás különösen egyszerű lehet, ha kevés módosítást hajtottak végre, vagy ha a helyi módosítások nem zavarják a távoli módosításokat. Ha azonban a kód ugyanazon részében egymásnak ellentmondó összetett módosítások vannak, a Git összevonási hibát dob.
Ezen a ponton megszakíthatja az egyesítést a „git merge –abort” paranccsal, vagy megpróbálhatja manuálisan feloldani az ütközéseket. A „git mergetool” és „git diff” parancsok grafikus példát adnak azokra a különbségekre, amelyek segíthetnek hogy a lehető legegyszerűbben megtekinthesse, milyen változtatásokat kell manuálisan alkalmazni az egyesítés engedélyezéséhez teljes. Miután megoldotta az összes ütközést, írja be a „git merge –continue” parancsot az egyesítés befejezéséhez.