Git definește un proces de control al versiunilor pentru modul în care proiectele ar trebui să fie partajate. Există multe site-uri web care vă permit să vă găzduiți proiectele Git. GitHub este cea mai populară opțiune, Bitbucket este o altă alternativă populară, ambele permit conturi gratuite care pot crea depozite publice sau private nelimitate. GitLab oferă o alternativă auto-găzduită care permite dezvoltarea privată fără a se baza pe găzduire terță parte.
Procesul de a descărca mai întâi un depozit Git se numește clonare. Clonarea include toate informațiile despre depozitul la momentul respectiv, totuși, pentru a menține depozitul actualizat în timp, trebuie să dezactivați versiuni noi. Pentru a face acest lucru, pur și simplu deschideți o fereastră de terminal în directorul cu versiunea locală a depozitului și tastați comanda „git pull”.
Operarea acestei comenzi este deosebit de simplă dacă doriți doar să descărcați o versiune actualizată a depozitului; versiunea locală va fi actualizată pentru a se potrivi cu versiunea de la distanță. Este posibil, totuși, să observați că ar putea apărea probleme dacă ați făcut modificări versiunii locale.
Comanda „git pull” rulează de fapt două comenzi separate „git fetch” și „git merge FETCH HEAD”. Sub-comanda „git fetch” scoate în mod special cea mai nouă versiune din depozitul online și o stochează temporar. Sub-comanda „git merge FETCH HEAD” îmbină apoi modificările locale cu versiunea descărcată, fiind preferate comiterile mai noi.
Sfat: O „comitare git” este o trimitere a unei modificări, este posibil să aveți mai multe comiteri locale și la distanță care fac aceleași lucruri sau diferite. Comiterile locale nu sunt vizibile pentru versiunea la distanță până când modificările sunt împinse. Fiecare comitere detaliază exact ce modificări au fost făcute și include un marcaj de timp.
Conflicte între versiunile locale și la distanță
În mod ideal, într-un scenariu de îmbinare, nu vor exista conflicte și procesul de îmbinare se va finaliza automat. Îmbinările pot fi deosebit de ușoare dacă s-au făcut puține modificări sau dacă modificările locale nu interferează cu nicio modificare de la distanță. Dacă, totuși, există modificări complexe conflictuale ale aceleiași părți a codului, Git va genera o eroare de îmbinare.
În acest moment, puteți fie să anulați îmbinarea cu comanda „git merge –abort”, fie să încercați să rezolvați manual conflictele. Comenzile „git mergetool” și „git diff” oferă un exemplu grafic al diferențelor care ar trebui să ajute pentru a fi cât mai ușor posibil să vedeți ce modificări trebuie aplicate manual pentru a permite îmbinarea complet. După ce ați rezolvat toate conflictele, tastați comanda „git merge –continue” pentru a finaliza îmbinarea.