Skip to content

Git parancsok elmagyarázva

A Git parancsok, amelyeket ténylegesen használsz, feladatok szerint csoportosítva: tároló létrehozása, munka mentése snapshotokban, branchelés és merge, történet olvasása, együttműködés remote-tal, hibák visszavonása, munka félretétele, valamint fájlok és szubmodulok kezelése. Minden sor a parancsot egy valós hívással párosítja.

A Gitnek több száz parancsa van, de a napi munkához csak néhány kell. A mentális modell: a munkakönyvtár a fájljaid, az index (staging area) a következő commit, a HEAD pedig az aktuális commit. Stage-elsz, commitolsz, megosztasz. Olvasd gyakran a status kimenetét. Az alábbiak mindegyike feltételezi, hogy egy listázott parancs már létezik.

Referenciatáblázat · 55 bejegyzés
55 of 55 rows
Beállítás és konfiguráció
Beállítja a nevedet, e-mail címedet vagy szerkesztődet egyszer, minden tárolóhoz.git config --global user.name "Ada"
Rövid nevet definiál egy gyakran gépelt parancshoz.git config --global alias.co checkout
Új tárolót hoz létre az aktuális mappában.git init
Egy távoli tárolót másol a gépedre.git clone git@github.com:org/repo.git
Csak egyetlen branch legfrissebb commitjait másolja.git clone --depth 1 --single-branch git@github.com:org/repo.git
Snapshot alapok
Megmutatja, mi van stage-elve, módosítva és nem követett.git status -sb
Stage-eli a változtatásokat, hogy bekerüljenek a következő commitba.git add src/app.ts
Darabonként átnézi a változtatásokat, és csak az általad elfogadottakat stage-eli.git add -p src/app.ts
A követett fájlok összes változtatását stage-eli, új fájlok hozzáadása nélkül.git add -u
A stage-elt változtatásokat új commitként rögzíti.git commit -m "fix: null check"
Az utolsó commitot egy javítottal helyettesíti.git commit --amend -m "fix: handle empty input"
A nem stage-elt változtatásokat mutatja, vagy a stage-elteket a --staged kapcsolóval.git diff --staged
Minden változtatást megmutat az utolsó commit óta, stage-elve vagy nem.git diff HEAD
Branchelés és merge
Listázza, létrehozza vagy törli a brancheket.git branch feature-x
Töröl egy merge-elt branchet (a -D kényszeríti, az -a minden branchet listáz).git branch -d feature-x
Branchek között vált (a checkout modern helyettesítője).git switch feature-x
Új branchet hoz létre, és egy lépésben rávált.git switch -c feature-x
Branchet vált vagy fájlokat állít vissza (a régebbi, szélesebb parancs).git checkout feature-x
Egy másik branch változtatásait behozza az aktuális branchbe.git merge feature-x
Megszakítja a konfliktusos merge-et, és a branchet visszaállítja korábbi állapotába.git merge --abort
Az aktuális branch commitjait egy másik branch tetejére játssza újra.git rebase main
Összevon, átrendez vagy szerkeszt commitokat az újrajátszás közben.git rebase -i main
Egyetlen commitot másol egy másik branchről erre.git cherry-pick a1b2c3d
Olvasható címkével jelöl meg egy commitot, például verzióval.git tag -a v1.2.0
Egy másik branchet is külön mappában vesz ki, egyszerre.git worktree add ../repo-feature feature-x
Előzmények vizsgálata
Végigjárja a commitok előzményeit.git log --oneline --graph --decorate
Minden branch előzményeit végigjárja, nem csak az aktuálisét.git log --oneline --graph --all
Egy commit teljes diffjét és üzenetét mutatja meg.git show HEAD
Megmutatja, ki módosította utoljára a fájl minden sorát.git blame src/app.ts
Minden commitot megmutat, amire a HEAD mutatott, az eldobottakat is.git reflog
Felezi az előzményeket, hogy megtalálja a hibát okozó commitot.git bisect start
Szerzők szerint összegzi a commitokat.git shortlog -sn
Megnevezi az aktuális commitot a legközelebbi tagtől számolva.git describe --tags
Távoli együttműködés
Listázza vagy hozzáad távoli tárolókat.git remote add origin <url>
Listázza a remote-okat a fetch és push URL-jeikkel.git remote -v
Letölti a távoli változtatásokat a branchjeid módosítása nélkül.git fetch origin
Letölti a távoli változtatásokat, és eldobja a törölt távoli branchek hivatkozásait.git fetch --prune
Letölti és merge-eli az aktuális branch távoli változtatásait.git pull --rebase
Elküldi a helyi commitokat a remote-ra.git push -u origin feature-x
Felülírja a távoli branchet, de csak ha senki sem pusholt előbb.git push --force-with-lease origin feature-x
Változtatások visszavonása
Eldobja a munkakönyvtári változtatásokat, vagy unstage-eli őket.git restore src/app.ts
Unstage-el egy fájlt, és megtartja a módosításait a munkakönyvtárban.git restore --staged src/app.ts
Az aktuális branch csúcsát mozgatja, opcionálisan az indexet is.git reset --hard HEAD~1
Új commitot ad hozzá, amely visszavon egy korábbit (biztonságosan megosztható).git revert HEAD
Törli a nem követett fájlokat és mappákat.git clean -fd
Stash
Elmenti a nem commitolt munkát, és visszaállítja a munkakönyvtárat.git stash -u
Megjeleníti az összes elmentett stash-t.git stash list
Újraalkalmaz egy stash-t, és megtartja a tárolóban.git stash apply stash@{1}
Töröl egy stash-t, amelyre már nincs szükséged.git stash drop stash@{1}
Újraalkalmazza a legutóbbi stash-t, majd eldobja.git stash pop
Fájlok és szubmodulok
Áthelyez vagy átnevez egy fájlt, és stage-eli a változtatást.git mv old.ts src/new.ts
Töröl egy fájlt, és stage-eli a törlést.git rm src/old.ts
Egy másik tárolót követ egy mappaként ezen belül.git submodule add git@github.com:org/lib.git lib
Csak a megnevezett mappákat veszi ki egy nagy tárolóból.git sparse-checkout set src docs
Exportálja egy commit fáját tar vagy zip fájlként.git archive -o repo.zip HEAD