Git pull
és fetch
ké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 pull
gyere 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 fetch
megismerheti 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