Git Fetch vs Pull: Mi a különbség a Git Fetch és a Git Pull parancsok között?

Git pullés fetchkét olyan parancs, amelyeket a Git felhasználók rendszeresen használnak. Nézzük meg a különbséget a két parancs között.

A kontextus kedvéért érdemes megjegyezni, hogy valószínűleg klónrepóban dolgozunk. Mi a klón? Ez egyszerűen egy másik adattár másolata. Alapvetően valaki más forráskódjának saját másolatát szerzi be.

Mindazonáltal, hogy a klónod folyamatosan frissüljön az eredetire esetlegesen alkalmazott változtatásokkal, ezeket be kell vinned a klónodba.

Ott fetchés pullgyere be.

git fetch az a parancs, amely arra utasítja a helyi git-et, hogy töltse le a legfrissebb metaadatokat az eredetiből (mégsem végez fájlátvitelt. Inkább csak ellenőrizni, hogy vannak-e változások)

git pull másrészről ezt teszi ÉS a távoli adattárból hozza (másolja) ezeket a változásokat.

Például:

git pull origin ankur bugfix

Az elvitel nem árt szem előtt tartani, hogy általában egy projekt legalább három példánya van a munkaállomáson.

  • Az egyik példány a saját adattárad, a saját elköteleződési előzményeiddel (úgymond a már elmentett példánnyal).
  • A második példány a munkamásolata, ahol szerkeszt és épít (még nem kötelezte el magát a repo iránt).
  • A harmadik példány a távoli adattár helyi „gyorsítótárazott” másolata (valószínűleg az eredeti, ahonnan klónoztad a sajátodat).

Segítségével git fetchmegismerheti a távoli repóban / ágban az utolsó húzás óta végrehajtott változásokat. Ez hasznos ahhoz, hogy ellenőrizni lehessen egy tényleges húzás előtt, ami megváltoztathatja az aktuális fiók és a munkakönyv fájljait (és elveszítheti a módosításokat stb.).

git fetch git diff ...origin