Git Fetch: een masterclass

fatmawati achmad zaenuri/Shutterstock.com

Het git fetch-commando is als een git pull-commando dat je lokale repository bijwerkt met informatie en commits vanuit de externe repository, zonder je werkbestanden te overschrijven.

Met het Git fetch-commando kun je kijken voordat je begint. U kunt ontdekken welke wijzigingen zijn aangebracht in een externe opslagplaats, maar zonder uw lokale bestanden te overschrijven met de externe bestanden.

Inhoudsopgave

Wat is git fetch en wat doet het?
Git fetch vs. pull
Synchroniseer je lokale en externe opslagplaatsen met git fetch
Zie alle opgehaalde tags< br>Eerst een proefrun uitvoeren
Een enkele tak ophalen
Alle vestigingen ophalen
Lokale en externe vestigingen vergelijken
Een lokale vestiging met een externe vestiging synchroniseren
De halfgetrainde puppy

Wat is git fetch en wat doet het?

Het fetch-commando in Git downloadt commits, bestanden en andere informatie veilig van een externe repository naar je lokale repository. Gebruik fetch wanneer u wilt zien welke wijzigingen andere ontwikkelaars hebben aangebracht, zonder gedwongen te worden de wijzigingen te accepteren. Uw lokale bestanden blijven onaangeroerd. Waarom is dat belangrijk?

Je moet je hoofd erbij houden als je werkt als onderdeel van een ontwikkelingsteam. De externe of centrale repository bevat wijzigingen en nieuwe branches die andere ontwikkelaars hebben gemaakt en gepusht naar de externe repository.

Het is heel goed mogelijk dat iemand de externe kopie heeft bijgewerkt van bestanden die u lokaal op uw computer hebt gewijzigd. Als je terloops een git pull uitvoert om je lokale repository bij te werken, merk je waarschijnlijk dat je samenvoegingen uitvoert voor wijzigingen die je misschien niet eens wilt.

Zodra je de informatie hebt gedownload, kun je kan het onderzoeken en zien wat de veranderingen zijn. Hierdoor kunt u een weloverwogen keuze maken over wat u nu wilt samenvoegen, als dat al het geval is, en wat u wilt uitstellen tot later.

Git fetch vs. pull

Het git fetch-commando gedraagt ​​zich als het git pull-commando, maar zonder de stap die je lokale bestanden overschrijft. Uw lokale repository wordt bijgewerkt en gesynchroniseerd, maar de wijzigingen worden niet naar de werkstatus van uw lokale repository geschreven, dus uw bestanden blijven onaangeroerd.

Of, om het op een andere manier te zeggen, het git pull-commando is als een git fetch onmiddellijk gevolgd door een git merge.

Synchroniseer uw lokale en externe opslagplaatsen met git fetch

Om alle bijgewerkte metadata en commits van een externe repository naar je lokale repository op te halen, gebruik je de opdracht git fetch met de naam of URL van de externe repository. Standaard heet de eerste externe repository “origin.”

git fetch origin

U kunt het woord “origin” als je werkt met een enkele externe repository.

git fetch

Dat haalt alle updates op van de “oorsprong” repository, maar het voegt de wijzigingen niet samen in de werkbestanden. We kunnen zien dat er een nieuwe branch is, genaamd “new-branch”, die voor ons is opgehaald.

Als je eenmaal het fetch-commando hebt gebruikt, kun je zien zien de volledige lijst met branches op de remote, door de optie -r (remote) te gebruiken met het branch-commando.

git branch -r

Dit geeft een lijst van alle takken waarvan de afstandsbediening weet, die na de fetch ook in uw lokale repository staan.

Alle opgehaalde tags bekijken< /h3>

Op dezelfde manier kun je de tag-optie gebruiken (let op, het is “tag” zonder een “s”) om de lijst met tags te zien.

git tag

GERELATEERD: Overschakelen, toevoegen , en Git Remotes verwijderen

Eerst een proefrun uitvoeren

Hoewel een git fetch de wijzigingen niet samenvoegt met je werkbestanden, werkt het wel je lokale repository bij. Als je wilt zien welke verandering het fetch-commando zal uitvoeren, zonder ze daadwerkelijk aan te brengen, gebruik dan de optie –dry-run.

git fetch –dry-run

Een enkele tak ophalen

Informatie ophalen ongeveer een enkele tak is gemakkelijk. Voeg de naam van de vertakking toe aan de opdrachtregel om fetch te laten weten dat u alleen over die ene vertakking hoeft te weten.

Hier vertellen we fetch om de branch “mary-feature” uit de externe repository “origin.”

git fetch origin mary-feature

Nu de details en inhoud van de remote branch in je lokale repository staan, kun je het git checkout commando gebruiken om een ​​nieuwe branch aan te maken en de remote branch uit te checken. Dit overschrijft geen bestaande bestanden als het de eerste keer is dat je deze branch gebruikt.

git checkout -b mary-feature origin/mary-feature

Alle takken ophalen

Als u meerdere remotes, kunt u tijd besparen door alle wijzigingen van alle branches terug te halen naar uw lokale repository door de optie –all te gebruiken.

git fetch –all

Lokale en externe branches vergelijken

Om te zien hoe de bestanden in een remote branch verschillen van uw lokale kopieën, gebruikt u git fetch en vervolgens het git log commando.

Merk op dat de lokale en externe vestigingen twee perioden hebben “..” ze scheiden. De –oneline optie toont de commit identifier en het commit bericht.

git fetch git log –oneline mary-feature..origin/mary-feature

De eenregelige weergave is handig als een tak veel wijzigingen bevat. Om wat meer informatie te zien, laat u de optie –oneline weg.

git log mary-feature..origin/mary-feature

Dit toont ons de tijd en datum van elke commit, samen met het commit-bericht en de contactgegevens van de auteur van de wijziging.

Een lokale vestiging synchroniseren met een externe vestiging

Als u hebt besloten dat u om door te gaan en de wijzigingen van de remote branch naar uw lokale werkbestanden samen te voegen, kunt u deze commando's gebruiken.

We zullen de branch uitchecken om er zeker van te zijn dat we werken, het is onze huidige, werkende branch..

git checkout mary-feature

De branch is voor ons uitgecheckt en ons is verteld dat deze zich achter de externe versie bevindt. We kunnen git pull gebruiken om het bij te werken en vervolgens git status om onze status te controleren.

git pull git status

Als we enkele wijzigingen hebben aangebracht in onze lokale bestanden, informeert Git ons wanneer we de branch uitchecken dat we een git pull moeten uitvoeren om een ​​merge te starten.

git checkout mary-feature

Een simpele git pull start het proces van het ophalen van de bestanden en het samenvoegen, of we kunnen duik er meteen in en gebruik git merge zelf. We beginnen met ervoor te zorgen dat we met de juiste branch werken

git checkout mary-feature

We zullen git vertellen om onze huidige branch samen te voegen met de branch in de remote repository, er zijn zes verschillende commits die opgelost moeten worden.

We moeten Git vertellen welke remote branch we willen samenvoegen.

git merge origin/mary-feature

Er wordt een editor geopend zodat we een commit-bericht kunnen geven. We kunnen het voorgestelde bericht accepteren of ons eigen bericht toevoegen. De editor is je standaard editor, tenzij Git is geconfigureerd om een ​​andere editor te gebruiken.

< /p>

Sla uw wijzigingen op wanneer u klaar bent om verder te gaan. Het samenvoegen gaat automatisch verder wanneer de editor wordt gesloten.

Onze samenvoeging was succesvol omdat er geen conflicten waren.

Conflicten ontstaan ​​wanneer dezelfde regels code worden gewijzigd door twee of meer ontwikkelaars. Als dat het geval is, markeert Git de conflicten in het betreffende bestand. U moet ze om de beurt bekijken en kiezen welke wijziging u wilt behouden.

De half getrainde puppy

Gewoon net als een puppy in training, zal fetch ophalen waar je om vraagt, maar het zal het niet laten vallen. Als je echt wilt wat de puppy je heeft laten zien, moet je trekken.

GERELATEERD: Git rebase: alles wat je moet weten

LEES VOLGENDE

  • › De 11-inch iPad Pro van Apple valt terug naar de laagste prijs ooit, plus meer deals
  • › Proton Mail heeft zojuist een grote upgrade gekregen op desktop-pc's
  • › De nieuwe AI van Spotify is een persoonlijke DJ
  • › Kubuntu, Lubuntu en andere Ubuntu-smaken maken een grote verandering
  • › Wat is een resolutie van 1440p? Wat u moet weten over QHD
  • › Bemachtig een ASUS X13 Gaming-laptop voor de beste prijs tot nu toe

Posted

in

by

Tags: