Learning
Git CLI

Remote kezelés

Remote-ok, fetch, pull, push és biztonságos force push használata.

Remote kezelés (origin, fetch, pull, push)

A remote repository az a megosztott verzió, amelyen a csapat együttműködik. A Git lehetővé teszi több remote egyidejű kezelését is.

Remote alapfogalmak

  • origin: a klónozás forrásának automatikus neve (konvenció)
  • upstream: az eredeti repo neve fork esetén (konvenció)
  • A remote branch-ekre origin/main, origin/develop formában hivatkozunk

git remote – remote-ok kezelése

# Remote-ok listázása
git remote -v

# Új remote hozzáadása
git remote add origin git@github.com:felhasznalo/repo.git

# Remote URL módosítása
git remote set-url origin git@github.com:felhasznalo/uj-repo.git

# Remote törlése
git remote remove origin

# Remote átnevezése
git remote rename origin upstream

git fetch – letöltés beolvasztás nélkül

Mit csinál: Letölti a remote repository összes változását (új commitok, branch-ek, tagek), de nem módosítja a lokális branch-eket.

Mikor használjuk: Amikor tájékozódni akarunk a remote állapotáról anélkül, hogy változtatnánk a lokális kódon.

# Minden remote letöltése
git fetch

# Egy adott remote letöltése
git fetch origin

# Egy adott branch letöltése
git fetch origin main

# Törölt remote branch-ek eltávolítása a lokális listából
git fetch --prune
# vagy röviden
git fetch -p

git pull – letöltés és beolvasztás egyszerre

Mit csinál: Lényegében egy git fetch + git merge (vagy git rebase) egyben. Letölti és beolvasztja a remote branch változásait az aktuális lokális branch-be.

Mikor használjuk: Amikor szinkronizálni akarjuk a lokális branch-et a remote-tal.

# Alap pull (fetch + merge)
git pull

# Egy adott branch pull-olása
git pull origin main

# Pull rebase-zel (lineárisabb historyt eredményez)
git pull --rebase
# vagy röviden
git pull -r

# Csak akkor merge-öl, ha fast-forward lehetséges
git pull --ff-only

Tipp: A git pull --rebase ajánlott, ha tiszta, lineáris historyt szeretnénk. Kerüljük a felesleges merge commitokat.


git push – feltöltés a remote-ra

Mit csinál: A lokális commitokat feltölti a remote repositoryba.

Mikor használjuk: Amikor el akarjuk osztani a változtatásainkat a csapattal, vagy biztonsági mentést szeretnénk.

# Alap push
git push

# Explicit remote és branch megadásával
git push origin main

# Új branch feltöltése és tracking beállítása
git push -u origin feature/new-feature
# Ezután elegendő: git push

# Tag-ek feltöltése
git push origin --tags

# Kényszer push (VIGYÁZAT: history újraírása után!)
git push --force-with-lease origin feature/my-branch

Figyelmeztetés: A sima git push --force veszélyes, mert felülírja a remote historyt. Mindig a biztonságosabb --force-with-lease opciót használd, amely ellenőrzi, hogy mások nem pushöltak-e közben.


git push --force-with-lease vs --force

# VESZÉLYES – felülírja mások változtatásait is
git push --force origin feature/my-branch

# BIZTONSÁGOS – csak akkor pushöl, ha senki más nem módosított
git push --force-with-lease origin feature/my-branch

Tracking branch beállítása

# Branch upstream-jének beállítása
git branch --set-upstream-to=origin/main main

# Ezután a git push / git pull upstream nélkül is működik

Rövid összefoglaló

  • git fetch – letöltés beolvasztás nélkül; biztonságos, informatív.
  • git pull --rebase – letöltés és beolvasztás; lineárisabb historyt ad.
  • git push -u origin <branch> – első push, tracking beállítással.
  • Soha ne használj sima --force-t megosztott branch-ekre; helyette --force-with-lease.
  • git fetch --prune tartja rendben a régi remote branch-ek listáját.

On this page