Git Pull Paskaidrots

git pull ir Git komanda, ko izmanto, lai atjauninātu krātuves vietējo versiju no tālvadības pults.

Tā ir viena no četrām komandām, kas liek Gitam sadarboties ar tīklu. Pēc noklusējuma git pullveic divas lietas.

  1. Atjaunina pašreizējo vietējo darba nodaļu (pašlaik pārbaudītā filiāle)
  2. Atjaunina visu pārējo filiāļu attālās izsekošanas zarus.

git pullienes ( git fetch) jaunais apņemas un apvieno ( git merge) tos savā vietējā filiālē.

Šīs komandas sintakse ir šāda:

# General format git pull OPTIONS REPOSITORY REFSPEC # Pull from specific branch git pull REMOTE-NAME BRANCH-NAME

kurā:

  • OPTIONS ir komandu opcijas, piemēram,--quietvai--verbose. Plašāku informāciju par dažādām opcijām varat lasīt Git dokumentācijā
  • REPOSITORY ir jūsu repo URL. Piemērs: //github.com/freeCodeCamp/freeCodeCamp.git
  • REFSPEC norāda, kuras atsauces ielādēt un kuras vietējās atjaunināt
  • REMOTE-NAME ir jūsu attālās krātuves nosaukums. Piemēram: izcelsme .
  • BRANCH-NAME ir jūsu filiāles nosaukums. Piemēram: attīstīties .

Piezīme

Ja jums ir git pullneizpildītas izmaiņas, komandas apvienošanas daļa neizdosies un jūsu vietējā filiāle netiks skarta.

Tādējādi jums vienmēr ir jāveic izmaiņas filiālē, pirms velkat jaunas saistības no attālās krātuves.

Satura rādītājs

  • Izmantojot git pull
  • Izplatītā versiju vadība
  • git fetch + git merge
  • git pull IDE

Izmantojot git pull

Izmantojiet, git pulllai atjauninātu vietējo repozitoriju no attiecīgā attālā repozitorija. Piem., Strādājot lokāli master, izpildiet, git pulllai atjauninātu vietējās kopijas masterun atjauninātu citas attālās izsekošanas filiāles. (Plašāka informācija par attālās izsekošanas filiālēm nākamajā sadaļā.)

Tomēr ir dažas lietas, kas jāpatur prātā, lai šis piemērs būtu patiess:

Vietējam repozitorijam ir piesaistīta attālā repozitorija

  • Pārbaudiet to, izpildot git remote -v
  • Ja ir vairāki pulti, git pulliespējams, nepietiek informācijas. Jums var būt nepieciešams ievadīt git pull originvai git pull upstream.

Filiālē, kurā pašlaik esat reģistrējies, ir atbilstoša attālās izsekošanas filiāle

  • Pārbaudiet to, izpildot git status. Ja nav tālvadības uzskaites filiāle, Git nezina, kur pull informāciju no .

Izplatītā versiju vadība

Git ir izplatīta versiju kontroles sistēma (DVCS). Izmantojot DVCS, izstrādātāji var vienlaikus strādāt ar vienu un to pašu failu atsevišķās vidēs. Pēc stumšanas koda līdz kopīgu attālo krātuve, citi izstrādātāji var vilkt mainīto kodu.

Tīkla mijiedarbība Git

Ir tikai četras komandas, kas mudina tīklu mijiedarboties Git. Vietējā repozitorija nezina par izmaiņām, kas veiktas attālajā repozitorijā, kamēr nav saņemts informācijas pieprasījums. Attālinātā repozitorija nezina par vietējām izmaiņām, kamēr netiek izpildītas saistības.

Četras tīkla komandas ir:

  • git clone
  • git fetch
  • git pull
  • git push

DVCS filiāles

Strādājot ar Git, var likties, ka visā vietā ir daudz viena un tā paša koda kopiju. Katrā filiālē ir dažādas viena faila versijas. Katra izstrādātāja datorā un tālvadības pultī ir vienas un tās pašas filiāles. Lai to izsekotu, Gits izmanto kaut ko sauc par attālās izsekošanas filiālēm .

Ja veicat git branch --allGit repozitorijā, attālās izsekošanas zari tiek parādīti sarkanā krāsā. Tās ir tikai lasāmas koda kopijas, kā tas parādās tālvadības pultī. (Kad bija pēdējā tīkla mijiedarbība, kas informāciju būtu ieguvusi lokāli? Atcerieties, kad šī informācija pēdējo reizi tika atjaunināta. Informācija attālās izsekošanas filiālēs atspoguļo informāciju no šīs mijiedarbības.)

Izmantojot attālās izsekošanas filiāles , jūs varat strādāt Git vairākās filiālēs bez tīkla mijiedarbības. Katru reizi, kad izpildāt git pullvai git fetchdodat komandas, jūs atjaunināt attālās izsekošanas zarus .

git ielādēt plus git sapludināt

git pullir kombinācijas komanda, kas vienāda ar git fetch+ git merge.

git atnest

Atsevišķi git fetchatjaunina visas attālās izsekošanas filiāles vietējā repozitorijā. Nevienā no vietējām darba filiālēm izmaiņas faktiski netiek atspoguļotas.

apvienot

Bez jebkādiem argumentiem git mergeapvienos atbilstošo attālās izsekošanas filiāli ar vietējo darba filiāli.

git pull

git fetchatjaunina attālās izsekošanas filiāles. git mergeatjaunina pašreizējo filiāli ar atbilstošo attālās izsekošanas filiāli. Izmantojot git pull, jūs saņemat abas šo atjauninājumu daļas. Bet tas nozīmē, ka, ja esat izrakstījies uz featurefiliāli un izpildāt git pull, izrakstoties master, jauni atjauninājumi netiks iekļauti. Ikreiz, kad izrakstāties citā filiālē, kurā var būt jaunas izmaiņas, vienmēr ir ieteicams to izpildīt git pull.

git ievelciet IDE

Citās IDES kopējā valodā šo vārdu var nebūt pull. Ja meklējat vārdus, git pullbet tos neredzat, meklējiet to syncvietā.

ielādējot attālo PR (Pull Request) vietējā repo

Pārskatīšanas un tamlīdzīgiem nolūkiem PR tālvadības pultī ir jānogādā vietējā repo. Lai git fetchto panāktu, komandu varat izmantot šādi.

git fetch origin pull/ID/head:BRANCHNAME

ID ir izvilkšanas pieprasījuma ID, un BRANCHNAME ir izveidojamās filiāles nosaukums. Kad filiāle ir izveidota, varat izmantot, git checkoutlai pārslēgtos uz šo brach.

Citi resursi par git vietnē guide.freecodecamp.org

  • Git apvienot
  • Git kase
  • Git apņemties
  • Git atlicināt
  • Git filiāle