Commit your craft
Imaginează-ți că joci Minecraft și după mult efort ai găsit diamantele atât de căutate. Acum imaginează-ți că acele diamante erau lângă un lac de lavă, ți-ai luat diamantele însă, din neatenție, ai căzut în lavă. Nu e un scenariu pe care să-l auzi prea rar.
Pentru cine nu a jucat până acum, Minecraft este un joc în care, ca jucători, sunteți liberi să urmați orice traseu doriți. Puteți urma strict pașii unui joc de supraviețuire sau aveți opțiunea să creați din cuburi orice construcție. Mai mult, chiar le puteți face pe ambele în același timp.
Descriere Git
Povestea aceasta ar putea avea un alt sfârșit dacă folosim Git. Aceasta este o tehnologie de versionare folosită în întreaga industrie IT. Pe lângă faptul că ne permite să lucrăm în echipă, avem și o cale de întoarcere către toate stadiile unui proiect.
Modificările le organizăm în pachete numite commituri. De-a lungul timpului vom avea o serie succesivă de commituri. Când avem conexiune la internet verificăm cum e diferit ce are server-ul față de noi și urcăm commituri pe acesta.
Git în Minecraft
Există o dispută veșnică între folosirea liniei de comandă sau a interfeței grafice. Voi scrie mai jos argumentele pro și contra, dar în cadrul acestui articol voi alege linia de comandă.
Backup

Înainte de a ne aventura să căutăm diamante, mai întâi trebuie să învățăm să folosim Git. Vom apăsa tastele „Windows key” + „r” și introduce textul „%appdata%” ca să deschidem din „.minecraft/saves” directorul lumii Minecraft jucate. În acel director pornim git bash prin click drepta -> git bash here. Fereastra care apare e linia de comandă ce ne va ajuta pe parcurs. În final, pentru ca Git să funcționeze pe acest director executăm în terminal comanda git init.
Când urmează să luăm o decizie riscantă, o alegere salvatoare este decizia de a face commitul ce marchează găsirea diamantelor. Acest lucru se realizează în terminal prin comenzile git add . și git commit –m „Am găsit diamante”.

După acest pas avem un punct sigur de întoarcere deci se pot colecta fără griji diamantele. Eventual se mai poate face similar un commit și după colectarea diamantelor. Acest lucru este util dacă sunt multe diamante de colectat. Pentru simplitate, considerăm cazul în care nu o facem.
După ce toate diamantele au fost colectate, jucătorul poate să cadă în lavă și să piardă toate diamantele. Git ne va salva din acel moment neplăcut, după o închidere a jocului, executând în terminal comanda git reset --hard head. După acest pas jocul poate fi redeschis. Acest lucru determină întoarcerea la ultimul commit creat, adică acel commit în care am găsit diamantele.
Versionare
Putem folosi Git în Minecraft și pentru a „versiona” construcții. Pentru acest lucru se creează ramuri, practic evoluții diferite ale proiectului dintr-un anumit punct în colo.
![]()

Un exemplu concret este construirea unei case în care vrem să vedem cum ar arăta două modele diferite de acoperiș. Mai întâi este deschis terminalul exact ca în exemplul anterior, apoi se rulează comanda git init. După crearea pereților casei, se pot utiliza comenzile git add . și git commit –m “Construiește baza”.
Se poate crea o ramură nouă pentru acoperiș scriind în linia de comandă git checkout -b Acoperiș1. După ce a fost construit și acoperișul se realizează un commit cu mesajul „Construiește Acoperiș 1”.

Este necesară întoarcerea la momentul în care aveam doar baza casei. Pentru acest lucru se închide jocul, apoi este utilă comanda git checkout master, după care jocul poate fi redeschis. Din acest punct se realizează a doua ramură introducând în terminal git checkout -b Acoperiș2. După terminarea acoperișului se realizează un commit cu mesajul „Construiește Acoperiș 2”.
Pentru a comuta între versiuni trebuie să închidem jocul și apoi să executăm git checkout head .. În continuare scriem git checkout Acoperiș1 sau git checkout Acoperiș2, iar în final putem redeschide jocul.
Observații tehnice
Git este un limbaj specializat pe versionarea fișierelor de tip text. În cazul fișierelor cu altă formatare decât text pot apărea câteva impedimente. Dimensiunea directorului crește destul de mult la fiecare commit, iar unirea a două ramuri nu poate fi realizată.
Git bash vs Git GUI
Linia de comandă spre deosebire de interfață grafică are avantajul de a asigura lucrul mai rapid. Scriind direct comenzi se evită lucrul cu ferestre și sub ferestre. Pe de altă parte interfața grafică este mai accesibilă pentru începători.
Git este de asemenea un limbaj de versionare util în scrierea codurilor sură, deci dacă lucrați la proiecte complexe și mai ales în echipă vă recomand să îl utilizați.
Pagini utile pentru a studia Git:
https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
Comments ()