Learning
Git CLI

Commit history és log

git log, diff, show, blame és shortlog használata a history megértéséhez.

Commit history és log (log, diff, show)

A history vizsgálata alapvető képesség: megérthetjük, mi változott, mikor és miért.

git log – commit history

Mit csinál: Megjeleníti a commit historyt az aktuális branch-en.

# Alap log
git log

# Tömör, egysoronként
git log --oneline

# Grafikus megjelenítés (branch struktúrával)
git log --oneline --graph --all

# Szerzőre szűrve
git log --author="Adam"

# Dátumra szűrve
git log --since="2024-01-01" --until="2024-12-31"

# Egy fájl változásainak historya
git log --follow src/index.ts

# Keresés a commit üzenetekben
git log --grep="feat"

# Keresés a változtatások tartalmában
git log -S "function login"

# Az utolsó N commit
git log -5

# Formázott kimenet
git log --pretty=format:"%h %an %ad %s" --date=short

git diff – különbségek megjelenítése

Mit csinál: Megmutatja a különbségeket fájlok, commitok, branch-ek vagy staging area között.

# Munkakönyvtár vs staging area (mi nincs még stage-elve)
git diff

# Staging area vs utolsó commit (mi van stage-elve)
git diff --staged
# vagy
git diff --cached

# Két commit között
git diff a3f2c1d b7e9f2a

# Két branch között
git diff main feature/login

# Egy fájl különbségei
git diff HEAD src/index.ts

# Statisztika (hány sor változott, fájlonként)
git diff --stat

git show – egy commit részletei

Mit csinál: Egy adott commit teljes tartalmát jeleníti meg: üzenet, szerző, dátum, változtatások.

# Az utolsó commit
git show

# Egy adott commit
git show a3f2c1d

# Csak az üzenet, diff nélkül
git show --stat a3f2c1d

# Egy fájl adott commit-beli tartalma
git show a3f2c1d:src/index.ts

git blame – soronkénti szerző

Mit csinál: Minden sorhoz megmutatja, melyik commit és ki vezette be azt.

# Egy fájl blame-je
git blame src/index.ts

# Sorok szűrése
git blame -L 10,30 src/index.ts

git shortlog – összefoglalt log szerzőnként

# Összefoglalt, szerzők szerint rendezve
git shortlog -sn

# Egy adott időszakra
git shortlog -sn --since="1 month ago"

Rövid összefoglaló

  • git log --oneline --graph --all – az egyik leghasznosabb parancs a history vizualizálásához.
  • git diff --staged – mindig futtasd commit előtt, hogy lásd, mit commitálsz.
  • git show <hash> – egy adott commit teljes részlete.
  • git blame – kideríthetjük, ki és mikor írt egy adott kódsort.
  • git log -S "szöveg" – keresés a változtatások tartalmában (pickaxe).

On this page