Ce este Git? (plus cheat-sheet)
Scurtă prezentare a unui tool foarte util și apreciat de programatori
Git sau mai bine zis git-scm este un sistem de gestiune a versiunilor. Versiunea 1.2 sau 2.3-beta ș.a.m.d.
Dar cum ajungem acolo?
Pentru programatori este foarte important să poate scrie/șterge sau modifica fișiere de cod, fără grija de a le pierde: azi de exemplu scriu niște cod care optimizează spațiul de stocare, dar îmi dau seama că am un bug și îl fixez apoi îmi salvez fișierul în git. Prin adăugarea unui fișier în git, creez o primă versiune a fișierului.
Mâine, mă apuc și rezolv alt bug, însă îmi dau seama că nu se mai aplică optimizările la spațiul de stocare. Aici vine git în ajutor, din care pot lua fișierul care l-am salvat ieri, exact așa cum era, fără schimbările aduse azi, și să le compar.
Astfel, atunci când testez programul, și văd că nu mai sunt bug-uri, pot să salvez această versiune pe git și să o marchez (tag) ca o versiune gata pentru a fi distribuită (release).
Alți programatori, care lucrează pe același proiect, pot descărca depozitul (repository) git la versiunea pe care am încărcat-o și să implementeze noile îmbunătățiri pornind de acolo.
Dar nu doar atât, ei când vor descărca versiunea sau ramura de cod stabilă, vor descărca și toate versiunile pe care am lucrat. De exemplu cea cu optimizarea spațiului de stocare, pe care poate am decis să nu o includ în release pentru că provoca bug-uri noi. În acest mod, cineva poate să începe să implementeze de acolo pentru că are o idee mai bună.
Desigur git are și alte beneficii, care nu ar putea fi descrise complet într-un singur articol. O mare parte din acestea sunt specifice modului de lucru adoptat de programatori, însă a fost și poate fi adoptat și de către scriitori sau traducători.
Cheatsheet-ul de mai sus este structurat și în ordinea importanței, dar și pentru că, comenzile locale sunt mai ușor de înțeles. Parte foarte faină la git, față de alte sisteme de de organizare a versiunilor, este că pot să salvez chiar dacă nu sunt conectat la internet și la un server.
Dacă ți se pare interesant, vezi și: