Primii paşi în Git
Last updated
Last updated
În acest capitol vom vedea câteva comenzi de bază ale git, vom trece prin ele destul de succint și ca să înțelegeți mai bine tot procesul, ar fi recomandat să vă jucați puțin mai mult cu comenzile să vă intre puțin în reflex.
Vom folosi termeni în limba engleză exclusiv deoarece așa îi veți găsi peste tot pe internet și vă va fi mai ușor să folosiți git.
Acești câțiva termeni sunt de bază în git, vom defini pe scurt aici de înseamnă, dar vor fi explicați mai pe larg în următoarele capitole. Nu este o listă exhaustivă.
working directory - folderul cu proiectul tău
repository - este practic folderul .git
din proiectul tau. Acesta poate fi local (i.e. calculatorul tău) și/sau remote (i.e. pe GitHub). Creat cugit init
sau git clone
. Acesta conține baza de date cu modificările în timp în proiectul tău.
changes - modificările pe care le-ai făcut în codul tău sursă
staging - "zona" în care change-urile sunt pregătite să fie salvate. Comanda git add
commit - operația de salvare a modificărilor în baza de date git. Comanda git commit
Înainte de a face primul proiect cu git, este nevoie să îi "găsești locul", adică undeva prin calculatorul tău. Creaază mai întâi un folder unde dorești să te joci cu git. Vei avea nevoie și de un Terminal (Linux, MacOS) sau Command Line (Windows).
În Windows puteți folosi și Command Line, PowerShell, sau Git Bash dacă faceți Click Dreapta în folderul cu proiectul vostru.
Tip: Puteți instala un Terminal de Linux în Windows. Este chiar recomandat deoarece veți folosi destul de mult un terminal de Linux la laboratoare în facultate și este mult mai versatil și simplu de folosit. Nu aveți nevoie de mașină virtuală. Aflați mai multe despre Windows Subsystem for Linux.
Toate comenzile vor fi în varianta de Linux (și implicit MacOS). Comenzile pentru PowerShell vor fi la fel. Unde e cazul, vor fi specificate diferențele.
Caracterul $
nu trebuie copiat, el doar denotă o comandă de rulat.
Caracterul #
denotă un comentariu, nu trebuie copiat.
Caracterele [ ]
și conținut înăuntrul lor reprezintă text care diferă de la calculator la calculator, iar în unele cazuri va trebui să înlocuiți cu cazul vostru.
Acum că suntem în folderul pentru proiect, putem inițializa git:
Comanda init
va crea un repository local (pe scurt repo), adică un folder .git
în folderul curent. Acesta este ascuns și conține întreaga bază de date cu toate modificările pe care le veți face în proiect.
Notă: Puteți crea un repo și într-un proiect deja început, nu e nevoie să fie gol folderul.
Acum că aveți repo-ul, puteți crea fișiere în proiectul vostru. Vom începe cu un simplu myfile.txt
. În Terminal puteți folosi comanda touch myfile.txt
pentru a crea un fișier gol. În Windows va fi mai simplu cu un Click Dreapta > New > Text Document
.
Folosind comanda git status
puteți vedea modificările curente. Citiți ce spune comanda, e chiar destul de simplu de înțeles.
În continuare dorim să salvăm acest fișier în repo. Pentru a putea face asta, îl stage-uim, adică îi spunem la git „bă, am câteva fișiere pe care vreau să le salvez acolo la tine”.
Acum suntem pregătiți să facem commit. Atenție, este necesar să atribuiți fiecărui commit un mesaj care explică ce s-a întâmplat în commit-ul respectiv. Vă va fi mult mai simplu mai târziu să găsiți un anume commit.
În timp, veți face tot mai multe commit-uri. Le puteți vedea pe toate folosind git log
. Între timp am mai creat câteva fișiere file1.txt file2.txt file3.txt
.
Grafic, în momentul de față cam așa arată repo-ul vostru.
Dacă până aici nu v-a impresionat nimic, acum e momentul să băgați în fișiere ceva text. Puteți da copy paste la niște Lorem Ipsum. După ce faceți asta, rulați comanda git diff
.
Acum puteți rula git add .
iar dacă faceți din nou câteva modificări în fișier, veți vedea cu + și/sau - ce ați adăugat respectiv șters.
După ce faceți commit, git vă spune pe scurt ce a făcut acel commit.
Am descris pe scurt termenii importanți în git pentru a ne înțelege mai ușor, am creat primul nostru proiect cu git init
, am creat un fișier și am rulat git status
pentru a observa cum git știe că avem modificări nesalvate. Am continuat prin a rula git add
să facem stage la fișierul respectiv, iar cu git commit
am salvat modificările în repo. După ce am mai făcut câteva commit-uri, am văzut cum git log
ne poate arăta istoricul commit-urilor și denumirile lor. Ultima comandă pe care am folosit-o este git diff
, cu care am putut vedea modificările pe care le-am făcut prin fișiere, linie cu linie, ce am adăugat și ce am șters.