7,540
edits
Changes
→Fast-forward only
===Fast-forward only===
Ez megfelel a fenti leírt Push működésnek, csak fordítva. Vagyis a távoli branch-ben vannak új commit-ok a lokálishoz képest, de lokálisan nincs olyan commit, ami a remote-ban ne szerepelne, sőt lokálisan semmilyen még nem commitált módosítás sem létezhet. Fast-forward merge esetében a lokálisan hiányzó commit-okat a git hozzá fogja biggyeszteni a lokális branch végéhez, majd a lokális branch mutatót át fogja állatni. (lokális fast-forward). Mikor majd Push-olni akarjuk a csak lokálisan létező commit-okat, a git-nek nem lesz más dolga, mint hogy ezeket ráfűzze a távoli repoban a branch végére.
Tegyük fel, hogy a távoli repoban lévő branch-en létrejött az A1 és A2 commit, amik nincsenek meg még a local repo-ban.
:[[File:ClipCapIt-191118-225301.PNG|500px]]
Ekkor ha végrehajtjuk a 'fast-forward' pull-t, akkor a git a lokális C1-re rá fogja fűzni az A1 és A2-t, majd a head mutatót az A2-re fogja előre mozgatni (forward).
:[[File:ClipCapIt-191118-225411.PNG|500px]]
<br><br>
===Fast-forward if possible===
Ebben az esetben meg fogja próbálni a fast-forward-ot, de ha nem lehetséges, akkor a 3 utas merge-t fogja alkalmazni, és létre fog hozni egy merge commit-ot, aminek a nevében is benne lesz, hogy ez miért keletkezett: