Git Fetch vs Pull: Mis vahe on Git Fetchi ja Git Pull käskude vahel?

Git pullja fetchon kaks käsku, mida Giti kasutajad regulaarselt kasutavad. Vaatame mõlema käsu erinevust.

Konteksti huvides tasub meeles pidada, et tõenäoliselt töötame kloonide repos. Mis on kloon? See on lihtsalt teise hoidla duplikaat. Põhimõtteliselt on see kellegi teise lähtekoodi enda koopia hankimine.

Sellest hoolimata peate oma klooni värskendama kõigil muudatustel, mida originaalile on tehtud, peate need oma klooni viima.

Sinna fetchja pulltulge sisse.

git fetch on käsk, mis käsib teie kohalikul gitil hankida uusim metaandmete teave originaalist (kuid ei edasta faile. See on rohkem kui lihtsalt kontrollimine, kas muudatusi on saadaval).

git pull teisalt teeb seda JA toob (kopeerib) need muudatused kaughoidlast.

Näiteks:

git pull origin ankur bugfix

Võimalik on meeles pidada, et teie tööjaamas on tavaliselt vähemalt kolm projekti koopiat.

  • Üks eksemplar on teie enda hoidla koos oma pühendumiste ajalooga (niiöelda juba salvestatud).
  • Teine eksemplar on teie töökoopia, kus te redigeerite ja ehitate (pole veel oma repoga seotud).
  • Kolmas eksemplar on teie kaughoidla kohalik "vahemällu salvestatud" koopia (tõenäoliselt originaal sealt, kuhu kloonisite).

Selle abil saate git fetchteada, millised muudatused on tehtud kaughelil / harus pärast viimast tõmmet. See on kasulik kontrollimiseks enne tegeliku tõmbe tegemist, mis võib muuta teie praeguse haru ja töökoopia faile (ja võib-olla teie muudatused kaotada jne).

git fetch git diff ...origin