Fogalomtár › Fejlesztői alapszavak
rebase
A rebase a Git verziókezelő művelete, amely a saját módosításaidat a közös kód legfrissebb állapotára helyezi át, mintha onnan kezdted volna a munkát.
Érthetően
Képzeld el, hogy egy közös kézirat múlt heti változatába írsz egy új fejezetet, miközben a többiek tovább javítják az eredetit. A rebase olyan, mintha a fejezetedet kiemelnéd, és a kézirat mai, friss változatába illesztenéd be újra. A végeredmény úgy néz ki, mintha eleve a mai szövegből indultál volna.
A programozók a Git nevű verziókezelőben úgynevezett ágakon (branch) dolgoznak, hogy ne zavarják egymást. Ha a fő ág közben előreszalad, a rebase a saját ágadat hozzáigazítja. Az előzmények így egyenes vonalúak és könnyen olvashatók maradnak.
Ugyanerre a helyzetre a másik megoldás az összefésülés (merge). Az megőrzi, hogy a két szál párhuzamosan futott, és egy külön összekötő bejegyzést hoz létre. A rebase ezzel szemben átírja a történetet: tisztább képet ad, de a módosításaid új azonosítót kapnak.
Az AI-korszakban azért hallasz róla többet, mert a kódoló agentek gyakran maguk végzik el. Ha több agent dolgozik egyszerre ugyanazon a kódon, a munkájukat rendszeresen a friss állapothoz kell igazítani.
Hogyan működik
- A Git megkeresi azt a pontot, ahol a saját ágad elvált a fő ágtól.
- Az azóta készült módosításaidat (commitokat) egyenként félreteszi.
- Az ágadat a fő ág legfrissebb állapotára állítja, mintha onnan indulnál.
- A félretett módosításokat sorban újra ráteszi erre az alapra; mindegyik új azonosítót kap.
- Ha valamelyik módosítás ütközik mások munkájával, a folyamat megáll, és neked (vagy az agentnek) kell eldöntened, melyik változat maradjon.
Példa a mindennapokból
Egy kódoló agent délelőtt elkezd javítani egy hibát a webáruházad kódjában, közben egy kollégád feltölt egy másik módosítást. Mielőtt az agent beküldi a munkáját, a naplóban ezt látod: „rebase a main ágra” – vagyis a javítását a kolléga friss változatára helyezte át. Ha ütközést talál, a beállításától függően vagy maga oldja fel, vagy megáll, és megkérdezi, melyik megoldás maradjon – az eredményt mindkét esetben érdemes átnézned.
Kit érint
Gyakori félreértés
Korlátok és kockázatok
- Közösen használt, már megosztott ágon ne végezz rebase-t, mert a többiek példánya eltér majd az átírt előzményektől.
- Ha az ágat korábban már feltöltötted a távoli tárolóba, a rebase után csak erőltetett feltöltéssel (force push) tudod frissíteni, ami óvatlanul használva mások módosításait is felülírhatja; a biztonságosabb változata a --force-with-lease kapcsoló.
- Sok módosításnál előfordulhat, hogy ugyanazt az ütközést többször is fel kell oldani, ami időigényes és hibalehetőség.
- Ha kódoló agent végzi, ellenőrizd az eredményt: az ütközések feloldásakor jó szándékkal is kidobhat fontos sorokat.
Hasonló, de nem ugyanaz
- összefésülés (merge) – A merge megőrzi a párhuzamos előzményeket és összekötő bejegyzést készít, a rebase viszont egyenes vonalúvá írja át a történetet.
- cherry-pick – A cherry-pick egy-egy kiválasztott módosítást másol át egy másik ágra, a rebase az ág teljes sorozatát helyezi új alapra.
- squash – A squash több módosítást egyetlen bejegyzéssé von össze, a rebase pedig áthelyezi őket – bár az interaktív rebase közben össze is vonhatod őket.
Kapcsolódó fogalmak
Röviden a története
A rebase a Git verziókezelő egyik alapművelete; a Gitet Linus Torvalds indította el 2005-ben a Linux-kernel fejlesztéséhez. A művelet neve szó szerint „újraalapozást” jelent: a munkád új alapra kerül.
Hol tart most
2026 végén a rebase a szoftverfejlesztés mindennapi rutinja, sok csapatnál kötelező lépés a kód beküldése előtt. A kódoló agentek is önállóan végzik, ezért a szó a nem programozók elé is egyre gyakrabban kerül.
Más nevei
rebase · git rebase · rebase-elés · rebase-el · újraalapozás · átalapozás · interactive rebase · interaktív rebase
Források
A szócikk gépi szerkesztéssel készült és gépi szakmai lektoráláson ment át; a „hírekben” rész az Agent Age sztorijaiból automatikusan frissül.