Sobes.tech
Junior

Kāda ir atšķirība starp komandām pull un fetch Git?

sobes.tech AI

Atbilde no AI

git fetch ielādē izmaiņas no attālā krātuves, bet tās nepiemēro pašreizējai zaram. git pull veic git fetch, un pēc tam automātiski (merge) apvieno saņemtās izmaiņas ar pašreizējo zaru.

Galvenās atšķirības:

Komanda Darbība Ietekme uz darba kopiju / zaru
git fetch Ielādē objektus (komitus, failus) Nemaina darba kopiju vai pašreizējo zaru
git pull Ielādē objektus un apvieno izmaiņas Atjaunina pašreizējo zaru un darba kopiju

Piemērs:

Lai tikai redzētu, kas ir mainījies attālajā serverī:

git fetch origin

(Var pārbaudīt izmaiņas ar git log origin/<zars>)

Lai iegūtu izmaiņas un automātiski tās piemērotu pašreizējā zara:

git pull origin main # piemēram

git pull būtībā ir līdzvērtīgs git fetch un git merge vai git rebase izpildei (atkarībā no iestatījumiem).

# Līdzvērtīgi `git pull`
git fetch origin
git merge origin/main # ja pašreizējais zars ir main un izmantojat merge kā apvienošanas stratēģiju

git fetch izmantošana sniedz lielāku kontroli, jo ļauj pārskatīt ienākošās izmaiņas pirms to apvienošanas. git pull ir ērts ātrai sinhronizācijai.