Ce face git log
Comanda git log parcurge lanțul de commit-uri pornind de la cel mai recent (HEAD) înapoi către începutul proiectului.
Combinația git log --oneline --graph --all este una dintre cele mai apreciate comenzi vizuale din terminal: desenează un graf ASCII colorat al tuturor ramurilor, arătând unde s-au despărțit și unde s-au unit.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
--oneline |
Comprimă fiecare commit pe o singură linie (hash scurt de 7 caractere + mesaj). |
--graph |
Desenează un grafic text în partea stângă pentru a evidenția ramurile și fuziunile (merge-urile). |
-n NUMĂR |
Limitează afișarea la ultimele N commit-uri (ex. -n 5). |
--author=NUME |
Filtrează commit-urile create de un anumit autor. |
--since=DATĂ, --until=DATĂ |
Filtrează commit-urile create într-un anumit interval de timp (ex. --since="2 weeks ago"). |
-p, --patch |
Afișează și modificările reale de cod (diff) introduse de fiecare commit în parte. |
Exemple
Exemplul 1: Afișarea istoricului pe o singură linie
Creăm câteva commit-uri și le inspectăm în format compact.
git init -b main demo_log >/dev/null
cd demo_log
git config user.name "Ana" && git config user.email "ana@exemplu.ro"
echo "v1" > f.txt && git add f.txt && git commit -m "Commit initial" >/dev/null
echo "v2" > f.txt && git add f.txt && git commit -m "Actualizare text" >/dev/null
git log --oneline
Rezultat
df5bf3b Actualizare text
b2cdaaf Commit initial
Exemplul 2: Grafic vizual al ramurilor în terminal
Opțiunea –graph afișează ramificațiile și îmbinările proiectului.
git log --oneline --graph --all
Ieșire în terminal
* 7a2b1c4 (HEAD -> main, origin/main) Adauga modulul de plati
* f4e5d6c Merge branch 'feature/login' into main
|\
| * 3b2a1c0 (feature/login) Implementeaza autentificare OAuth
| * 1a2b3c4 Creaza formularul de login
|/
* e5d4c3b Configuratie de baza
Greșeli frecvente
- Blocarea în paginatorul
lessatunci când istoricul este lung (se apasă tastaqpentru a reveni la linia de comandă).
Comenzi înrudite
git show: Afișează informații detaliate și diferențele de cod (diff) ale unui commit, etichetă sau fișier istoric.git diff: Afișează diferențele de cod (linie cu linie) între directorul de lucru, staging sau două versiuni diferite.git blame: Afișează autorul, data și hash-ul commit-ului care a modificat ultima dată fiecare rând dintr-un fișier.git reflog: Jurnalul de siguranță al depozitului: înregistrează fiecare mutare a indicatorului HEAD și permite recuperarea commit-urilor pierdute.