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=shortgit 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 --statgit 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.tsgit 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.tsgit 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).