Hoe een externe Git-tak af te rekenen

0
63
fatmawati achmad zaenuri/Shutterstock.com

Om een ​​branch uit een remote repository uit te checken, gebruik je het 'git fetch' commando, en dan 'git branch -r ' om de remote branches op te sommen. Kies de branch die je nodig hebt en gebruik een commando van de vorm 'git checkout -b new-branch-name origin/remote-branch-name.' Als u meerdere repositories gebruikt, wijzigt u het 'origin'-gedeelte van het checkout-commando in de naam van de afstandsbediening waarvan u de branch wilt uitchecken.

Als je ontwikkelteam Git gebruikt, zul je uiteindelijk het werk van iemand anders moeten bekijken als een branch vanuit een externe repository. Zoals de meeste branch-acties in Git, is overschakelen naar een remote branch eigenlijk vrij eenvoudig.

Inhoudsopgave

Git, branches en remotes
Uw lokale branches vinden
Een remote branch uitchecken
Naamconflicten afhandelen
Meerdere externe repositories afhandelen
Voordat u uitcheckt

Git, Branches en Remotes

De filosofie van Git is om vaak te vertakken. Met branches kan ontwikkeling plaatsvinden zonder de hoofdcodebasis te wijzigen. Als je ervan overtuigd bent dat je nieuwe, geteste code klaar is, voeg je je nieuwe branch samen met een andere branch. Gewoonlijk is dit de main- of master-branch, maar u kunt twee willekeurige branches samenvoegen.

Vanwege deze flexibiliteit, en de lichtgewicht en snelle manier waarop Git met branches omgaat en samenvoegt, werd branching getransformeerd. In oudere versiebeheersystemen was vertakking een groot probleem. Vertakkingen en samenvoegingen waren traag en foutgevoelig. Git gaf ontwikkelaars gemakkelijke, snelle vertakking die wordt gebruikt om veel verschillende workflows te ondersteunen.

Als je werkt of vrijwilligerswerk doet als onderdeel van een ontwikkelingsteam dat Git gebruikt, heb je een ;centraal” Git-repository, op afstand van de computer van elke software-engineer. Dit staat bekend als de externe repository, of gewoon de “remote.” Hier worden de commits en wijzigingen in uw lokale repository verzonden wanneer u een push uitvoert.

Dat doen de andere ontwikkelaars natuurlijk ook. Dit maakt het gemakkelijk om samen te werken. Als je toegang nodig hebt tot het werk van een andere ontwikkelaar, haal je gewoon hun code op uit een branch op de externe repository. Als ze toegang tot uw werk nodig hebben, halen ze uw code op uit een vertakking in de repository die een van uw lokale vertakkingen volgt.

In Git kan een ontwikkelingsproject meerdere afstandsbedieningen hebben. Een lokale branch kan echter maar één remote branch volgen. Dus zolang je met de juiste remote werkt, is het uitchecken van een remote branch met meerdere remotes hetzelfde als het gebruiken van een enkele remote.

Zoeken Uw lokale vestigingen

U moet naamconflicten vermijden. Als je een lokale branch hebt die toevallig dezelfde naam heeft als de remote branch die je gaat uitchecken, heb je twee opties. U kunt uw lokale branch hernoemen en de remote branch uitchecken. Op die manier heeft je lokale branch die de remote branch volgt dezelfde naam als de remote branch. Of je kunt de remote branch uitchecken en Git vertellen om een ​​lokale tracking branch met een nieuwe naam aan te maken.

Gebruik het git branch commando om de namen van de branches in je lokale repository te achterhalen.

p> git branch

Deze lokale repository heeft een master branch en drie andere branches . Het sterretje geeft aan wat de huidige tak is. Om van branch naar branch te gaan, moet je de branch uitchecken waarmee je wilt werken.

git checkout nieuwe functie git status

Het eerste commando verandert de branch voor ons, zodat “new-feature& #8221; is het huidige filiaal. Het git status-commando verifieert dat voor ons.

We kunnen heen en weer springen tussen branches, nieuwe wijzigingen doorvoeren, updates van de afstandsbediening ophalen en lokale updates naar de afstandsbediening pushen.

GERELATEERD: Afzonderlijke Git-takken bijwerken en onderhouden

Een remote branch uitchecken

Er is een branch op de remote repository die niet aanwezig is op onze machine. Een ontwikkelaar genaamd Mary heeft een nieuwe functie gemaakt. We willen overschakelen naar die remote branch zodat we die versie van de software lokaal kunnen bouwen.

Als we een fetch uitvoeren, haalt Git de metadata terug uit de remote repository.

git fetch < p>

Omdat dit de eerste fetch is die we hebben gedaan sinds Mary haar branch naar de remote repository pushte, is ons verteld dat er een nieuwe branch is genaamd “origin/mary-feature.” De standaardnaam voor de eerste remote repository die aan een project wordt toegevoegd, is “origin.

Of we dit bericht nu zien of niet, we kunnen Git altijd vragen om de branches in de remote repository op te sommen. repository.

De -r (remote) optie vertelt Git om te rapporteren over de branches die zich op de remote repository bevinden.

git branch -r

Het punt om hier op te merken is dat Git zijn lokale kopie van de afstandsbediening controleert' ;s metagegevens. Daarom hebben we het git fetch-commando gebruikt om ervoor te zorgen dat de lokale kopie van de metadata up-to-date is.

GERELATEERDHoe u het Git Workflow & Branching Model kiest dat geschikt is voor uw team

Zodra we het filiaal hebben gevonden dat we willen, kunnen we het gaan bekijken. We gebruiken het git checkout commando met de -b (branch) optie, gevolgd door de naam die we zullen gebruiken voor de lokale branch, gevolgd door de naam van de remote branch.

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

We kunnen zien dat we hebben gecontroleerd out de remote branch en creëerde een lokale branch die veranderingen in de remote branch zal volgen.

git branch

Onze nieuwe lokale tak is nu onze huidige werkende tak.

Naamconflicten afhandelen

Als u een lokale branch heeft die dezelfde naam heeft als de remote branch, kunt u ofwel uw lokale branch hernoemen voordat u de remote branch uitcheckt branch, of check de remote branch uit en specificeer een andere naam voor de lokale branch.

Om de remote branch uit te checken in een lokale branch met een andere naam, kunnen we dezelfde opdracht gebruiken die we eerder gebruikten, en een nieuwe lokale branchnaam kiezen.

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

Dit creëert een lokale branch genaamd “mary-test” die lokale commits naar die branch zal volgen. Pushes gaan naar de externe “origin/mary-feature” filiaal.

Dit is waarschijnlijk de beste manier om lokale naamconflicten aan te pakken. Als u de naam van de lokale en remote branch echt hetzelfde wilt houden, moet u uw lokale branch hernoemen voordat u de remote uitcheckt. Het hernoemen van een branch is triviaal in Git.

git branch -m mary-feature old-mary-branch

U kunt nu de externe “origin/mary-feature” branch.

Omgaan met meerdere externe opslagplaatsen

Als u meerdere remote repositories geconfigureerd heeft, moet u ervoor zorgen dat u met de juiste repository werkt wanneer u de remote branch uitcheckt.

Om uw remote repositories op te sommen, gebruikt u het remote commando met de -v ( view) optie.

git remote -v

Om alles te zien de beschikbare branches, moeten we de metadata van al onze remotes ophalen en dan de remote branches opsommen.

git fetch –all git branch –all

We kunnen zien dat de tak die we willen in de “oorsprong” op afstand. De opdracht om het uit te checken heeft dezelfde indeling die we al hebben gebruikt. We moeten de externe naam, “origin”, en de naam van de branch, “mary-feature.”

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

GERELATEERD: Hoe om Git-afstandsbedieningen te schakelen, toe te voegen en te verwijderen

Voordat u afrekent

Voordat u afrekent, moet u een paar dingen in gedachten houden, en het komt goed.

Zorg ervoor dat u naamconflicten vermijdt. Als u een lokale branch heeft met dezelfde naam als de remote branch, beslis dan of u de lokale branch een andere naam wilt geven of een branch wilt maken met een andere naam om de remote branch te volgen.

Als u een lokale branch gebruikt meerdere externe repositories, zorg ervoor dat u de juiste afstandsbediening gebruikt.

GERELATEERD: Git rebase: alles wat u moet weten

LEES VOLGENDE < ul id="nextuplist">

  • › Berichten op een Mac verwijderen
  • › Google-dia's met notities afdrukken
  • › Reset je Hue Bridge niet om problemen op te lossen, maar gebruik een van deze apps
  • › Wat betekent “IG” Gemeen, en hoe gebruik je het?
  • › Schakelen tussen tabbladen met een sneltoets in elke webbrowser
  • › Games zijn nu $ 70, maar dat hoef je eigenlijk niet te betalen