git hente (Norsk)

git hente (Norsk)

git fetch kommando nedlastinger forplikter, filer, og refs fra en ekstern depotet ditt lokale repo. Henting er hva du gjør når du ønsker å se hva alle andre har jobbet på. Det er lik svn update i at det kan du se hvordan den sentrale historien har utviklet seg, men det trenger ikke tvinge deg til å faktisk slå sammen endringene i depotet. Git isolater hentet innhold fra eksisterende lokalt innhold; det har absolutt ingen effekt på det lokale utviklingsarbeidet., Hentet innhold må være eksplisitt sjekket ut ved hjelp av git checkout – kommandoen. Dette gjør du henter en sikker måte til å skrive en anmeldelse begår før å integrere dem med din lokale depotet.

Når du laster ned innhold fra en ekstern repo, git pull og git fetch kommandoer som er tilgjengelige for å utføre oppgaven. Du kan vurdere git fetch ‘sikker’ versjon av de to kommandoer. Den vil laste ned den eksterne innhold, men ikke oppdatere din lokale repo ‘ s arbeidsforhold, forlate din nåværende jobb intakt., git pull er mer aggressive alternativ; det vil laste ned den eksternt innhold for den aktive lokallag og umiddelbart utføre git merge for å lage en flette forplikte seg for den nye eksternt innhold. Hvis du har ventende endringer i framdrift vil dette føre til konflikter og kick-off merge konfliktløsning flyt.

Hvordan git hente arbeider med ekstern grener

for Å forstå bedre hvordan git fetch fungerer la oss diskutere hvordan Git organiserer og lagrer forplikter., Bak kulissene, i depotets ./.git/objects – katalogen, Git lagrer alle forplikter, lokale og eksterne. Git holder eksterne og lokale grenen begår klart atskilte gjennom bruk av grenen refs. Den refs for lokale avdelinger er lagret i ./.git/refs/heads/. Utfører git branch – kommandoen vil generere en liste over de lokale grenen refs. Følgende er et eksempel på git branch utgang med noen demo gren navn.,

git branch
master
feature1
debug2

å Undersøke innholdet av /.git/refs/heads/ katalogen vil avsløre lignende produksjon.

ls ./.git/refs/heads/
master
feature1
debug2

Ekstern grener er akkurat som lokale avdelinger, bortsett fra de kartet for å forplikter seg fra andres depotet. Ekstern grener står ved ekstern de tilhører, slik at du ikke blande dem opp med lokale avdelinger. Som lokale avdelinger, Git har også refs for ekstern grener. Ekstern grenen refs live i ./.git/refs/remotes/ – katalogen., Neste kodebit viser grener du kan se når du henter en ekstern repo beleilig heter remote-repo:

git branch -r
# origin/master
# origin/feature1
# origin/debug2
# remote-repo/master
# remote-repo/other-feature

Denne utgangen viser de lokale avdelingene vi tidligere hadde undersøkt, men nå viser dem innledes med origin/. I tillegg skal vi nå se det eksterne grener innledes med remote-repo. Du kan sjekke ut en ekstern grenen akkurat som et lokale, men dette setter deg i en enebolig HEAD state (akkurat som sjekke ut en gammel commit). Du kan tenke på dem som read-only grener., For å vise den eksterne grener, bare bestå -r flagget til git branch – kommandoen.

Du kan inspisere ekstern grener med vanlig git checkout og git log kommandoer. Hvis du godkjenner endringene en ekstern grenen inneholder, kan du flette det inn i en lokal gren med en vanlig git merge. Så, i motsetning til SVN, synkronisering av din lokale depotet med en ekstern depotet er faktisk en to-trinns prosess: hente, og deretter fusjonere. git pull – kommandoen er en praktisk snarvei til denne prosessen.,

Git hente kommandoer og alternativer

git fetch <remote>

Hent alle grener fra depotet. Dette laster også ned alle de nødvendige forplikter og filer fra den andre depotet.

git fetch <remote> <branch>

Samme som kommandoen ovenfor, men bare hente den angitte gren.

git fetch --all

En kraft flytter noe som henter alle registrerte fjernkontroller og deres grener:

git fetch --dry-run

--dry-run alternativet vil utføre en demo kjøring av kommandoen., Det vil output eksempler på tiltak vil det ta under henting, men ikke gjelder dem.

git hente en ekstern grenen

følgende eksempel vil vise hvordan å hente en ekstern grenen og oppdatere din lokale arbeidsforhold til den eksterne innholdet. I dette eksempel, la oss anta at det er et sentralt repo opprinnelse fra den lokale depot har blitt klonet fra å bruke git clone – kommandoen. La oss også anta en ekstra ekstern depotet heter coworkers_repo som inneholder en feature_branch som vi vil konfigurere og hente., Med disse forutsetningene satt la oss fortsette eksempel.

for det Første trenger vi en til å konfigurere den eksterne repo bruke git remote – kommandoen.

git remote add coworkers_repo [email protected]:coworker/coworkers_repo.git

Her har vi opprettet en referanse til kollega ‘ s repo med repo-URL. Vi vil nå gå som eksternt navn til git fetch for å laste ned innholdet.

git fetch coworkers_repo coworkers/feature_branch
fetching coworkers/feature_branch

Vi nå lokalt har innholdet av medarbeidere/feature_branch vi må integrere dette inn i våre lokale arbeidskopi., Vi begynner denne prosessen ved hjelp av git checkout – kommandoen til kassa nylig nedlastede ekstern grenen.

git checkout coworkers/feature_branch
Note: checking out coworkers/feature_branch'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>

utgang fra denne kassen drift indikerer at vi er i en enebolig HEAD staten. Dette er som forventet og betyr at vår HEAD ref peker til en art som ikke er i rekkefølge med vår lokale historie. Blir som HEAD er rettet mot medarbeidere/feature_branch ref, kan vi skape en ny lokal gren fra ref., Den ‘frittliggende HEAD‘ utgang viser oss hvordan vi skal gjøre dette ved hjelp av git checkout kommando:

git checkout -b local_feature_branch

Her har vi laget en ny lokal gren kalt local_feature_branch. Dette setter oppdateringer HEAD til å peke på den nyeste eksternt innhold, og vi kan fortsette utviklingen på det fra dette punktet.

Synkronisere opprinnelse med git hente

følgende eksempel går gjennom typiske arbeidsflyt for synkronisering av din lokale depot med det sentrale lageret er master gren.,

git fetch origin

Dette vil vise de grenene som ble lastet ned:

Den forplikter fra disse nye eksterne grener er vist som firkanter i stedet for sirkler i diagrammet nedenfor. Som du kan se, git fetch gir deg tilgang til hele grenen struktur av et annet oppbevaringssted.,

for Å se hva som begår har blitt lagt til oppstrøms master, kan du kjøre en git log ved hjelp av opprinnelse/master som et filter:

git log --oneline master..origin/master

for Å godkjenne endringer og flette dem inn i din lokale master gren bruke følgende kommandoer:

git checkout master
git log origin/master

Da kan vi bruke git merge origin/master:

git merge origin/master

The origin/master og master grener nå peker i samme begå, og du er synkronisert med oppstrøms utviklingen.,

Git hente oppsummering

I anmeldelsen, git fetch er en primær kommando som brukes til å laste ned innhold fra en ekstern depotet. git fetch er brukt i forbindelse med git remote, git branch, git checkout, og git reset for å oppdatere en lokal depotet til staten av en fjernkontroll. git fetch – kommandoen er en avgjørende del av samarbeidende git arbeidet flyter., git fetch has similar behavior to git pull, however, git fetch can be considered a safer, nondestructive version.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *