GIT

Învață Git: comenzi și fluxuri de lucru explicate cu exemple

35 de comenzi 7 categorii

Git este sistemul de control al versiunilor (VCS) distribuit folosit de aproape toți programatorii și echipele de software din lume. Permite urmărirea fiecărei modificări aduse codului, colaborarea fără conflicte, experimentarea pe ramuri (branches) izolate și revenirea instantanee la orice versiune istorică funcțională.

Fie că lucrezi individual sau în echipe mari conectate la platforme precum GitHub, GitLab sau Bitbucket, stăpânirea comenzilor Git din terminal este una dintre cele mai valoroase abilități practice pentru un dezvoltator.

Mai jos găsești comenzile fundamentale Git grupate pe categorii: configurare și inițializare, pregătirea fișierelor și salvarea commit-urilor, explorarea istoricului, lucrul cu ramuri (branching și merging), sincronizarea cu servere la distanță (remote), anularea și salvarea modificărilor temporare, precum și utilitare avansate. Apasă pe oricare comandă pentru explicații detaliate, opțiuni frecvente, exemple reale și capcane de evitat.

Configurare și inițializare 5 comenzi

Staging și salvare 5 comenzi

Istoric și comparații 5 comenzi

Ramuri și îmbinare 6 comenzi

Colaborare la distanță 4 comenzi

Anulare și recuperare 5 comenzi

Etichete și utilitare avansate 5 comenzi

Toate comenzile Git

Lista completă a comenzilor Git explicate în această secțiune, cu sintaxa lor uzuală. Comenzile cu link au o pagină dedicată, cu explicații detaliate, opțiuni și exemple practice.

Configurare și inițializare (5)

Comandă / Utilitar Ce face
git config Configurează setările Git la nivel global (utilizator), de sistem sau local pentru depozitul curent.
git config [opțiuni] nume [valoare]
git init Creează un depozit Git nou și gol sau reinițializează un proiect existent.
git init [opțiuni] [director]
git clone Descarcă și creează o copie locală completă a unui depozit aflat la distanță (ex. GitHub).
git clone [opțiuni] URL_depozit [director_destinație]
git status Afișează starea fișierelor: modificate, pregătite pentru commit (staged) sau neurmărite (untracked).
git status [opțiuni]
.gitignore Fișier de configurare care specifică fișierele și directoarele ignorate intenționat de Git.
# Reguli in fisierul .gitignore

Staging și salvare (5)

Comandă / Utilitar Ce face
git add Adaugă modificările din directorul de lucru în zona de pregătire (staging area/index) pentru următorul commit.
git add [opțiuni] fișiere...
git commit Înregistrează un nou instantaneu permanent al fișierelor din staging în istoricul depozitului.
git commit [opțiuni]
git rm Șterge fișiere din depozit și din directorul de lucru, pregătind ștergerea pentru commit.
git rm [opțiuni] fișiere...
git mv Mută sau redenumește un fișier sau director urmărit de Git și pregătește acțiunea pentru commit.
git mv sursă destinație
git restore Restaurează fișierele din directorul de lucru sau scoate modificările din zona de staging.
git restore [opțiuni] fișiere...

Istoric și comparații (5)

Comandă / Utilitar Ce face
git log Afișează istoricul cronologic al commit-urilor, cu autor, dată, hash și mesaj.
git log [opțiuni] [ramură_sau_fișier...]
git diff Afișează diferențele de cod (linie cu linie) între directorul de lucru, staging sau două versiuni diferite.
git diff [opțiuni] [commit/ramură...]
git show Afișează informații detaliate și diferențele de cod (diff) ale unui commit, etichetă sau fișier istoric.
git show [opțiuni] [obiect]
git blame Afișează autorul, data și hash-ul commit-ului care a modificat ultima dată fiecare rând dintr-un fișier.
git blame [opțiuni] fișier
git shortlog Rezumă istoricul commit-urilor grupându-le pe autori, ideal pentru generarea notelor de lansare (release notes).
git shortlog [opțiuni] [commit...]

Ramuri și îmbinare (6)

Comandă / Utilitar Ce face
git branch Listează, creează, redenumește sau șterge ramuri (branches) de dezvoltare.
git branch [opțiuni] [nume_ramură]
git switch Comută pe o altă ramură sau creează și trece pe o ramură nouă.
git switch [opțiuni] ramură
git checkout Comandă multifuncțională clasică pentru comutarea ramurilor sau restaurarea fișierelor din istoric.
git checkout [opțiuni] [ramură/commit] [-- fișiere...]
git merge Îmbină istoricul și modificările dintr-o altă ramură în ramura curentă.
git merge [opțiuni] ramură
git rebase Reaplică commit-urile din ramura curentă peste o altă ramură, creând un istoric perfect liniar.
git rebase [opțiuni] nouă_bază
git cherry-pick Copiază și aplică un commit specific dintr-o altă ramură în ramura curentă.
git cherry-pick [opțiuni] commit...

Colaborare la distanță (4)

Comandă / Utilitar Ce face
git remote Gestionează lista serverelor și depozitelor la distanță conectate la proiectul local.
git remote [opțiuni] [subcomandă]
git fetch Descarcă cele mai noi commit-uri și ramuri de pe serverul la distanță fără a modifica fișierele locale.
git fetch [opțiuni] [remote] [ramură]
git pull Descarcă și integrează într-un singur pas modificările de pe server în ramura locală curentă.
git pull [opțiuni] [remote] [ramură]
git push Încarcă commit-urile locale pe serverul de la distanță (remote) pentru a fi partajate cu echipa.
git push [opțiuni] [remote] [ramură]

Anulare și recuperare (5)

Comandă / Utilitar Ce face
git stash Salvează temporar modificările neterminate pe o stivă privată și lasă directorul de lucru curat.
git stash [subcomandă] [opțiuni]
git reset Mută indicatorul ramurii curente (HEAD) la un commit anterior și ajustează staging-ul sau fișierele locale.
git reset [opțiuni] [commit]
git revert Anulează efectele unui commit din trecut prin crearea unui nou commit invers, fără a altera istoricul.
git revert [opțiuni] commit...
git clean Șterge fișierele și directoarele neurmărite (untracked) din directorul de lucru.
git clean [opțiuni] [cale...]
git reflog Jurnalul de siguranță al depozitului: înregistrează fiecare mutare a indicatorului HEAD și permite recuperarea commit-urilor pierdute.
git reflog [opțiuni]

Etichete și utilitare avansate (5)

Comandă / Utilitar Ce face
git tag Creează, listează, șterge sau verifică etichete de versiune (release tags) care marchează puncte cheie din istoric.
git tag [opțiuni] [nume_etichetă] [commit]
git bisect Identifică commit-ul exact care a introdus un bug printr-un algoritm automatizat de căutare binară.
git bisect <subcomandă> [opțiuni]
git archive Exportă codul dintr-un commit sau dintr-o ramură într-o arhivă ZIP sau tar.gz curată, fără directorul .git.
git archive [opțiuni] ramură_sau_etichetă
git submodule Integrează și sincronizează alte depozite Git ca subproiecte în interiorul depozitului curent.
git submodule [subcomandă] [opțiuni]
git worktree Permite lucrul simultan pe mai multe ramuri în directoare fizice separate, folosind același depozit local.
git worktree [subcomandă] [opțiuni]