git fetch
komento suosio sitoutuu tiedostoja, ja refs kauko arkiston paikalliseen repo. Noutaminen on sitä, mitä tekee, kun haluaa nähdä, mitä kaikki muut ovat tehneet. Se on samanlainen svn update
siinä, että sen avulla voit nähdä, kuinka keski-historia on edennyt, mutta se ei pakota sinua todella yhdistää muutokset omaan arkistoon. Git eristää noudettua sisältöä olemassa olevasta paikallisesta sisällöstä; sillä ei ole mitään vaikutusta paikalliseen kehitystyöhön., Noudettu sisältö on nimenomaisesti tarkastettava käyttäen git checkout
– komentoa. Tämä tekee noutamisesta turvallisen tavan tarkistaa toimitukset ennen niiden integroimista paikalliseen arkistoon.
Kun lataat sisältöä kauko repo, git pull
ja git fetch
komennot ovat käytettävissä suorittamaan tehtävän. Voit harkita git fetch
kahden komennon ”turvallista” versiota. Se lataa etäsisällön, mutta ei päivitä paikallisen repon työskentelytilaa, jättäen nykyisen työsi koskemattomaksi., git pull
on aggressiivisempi vaihtoehto; se lataa remote sisältöä aktiivinen paikallisyhdistys ja heti suorittaa git merge
luoda yhdistämisen tehnyt uuden kauko-sisältöä. Jos sinulla on meneillään muutoksia, tämä aiheuttaa ristiriitoja ja käynnistää yhdistämisen konfliktinratkaisuvirran.
Miten git fetch toimii kauko oksat
ymmärtää paremmin, miten git fetch
toimii olkaamme keskustella siitä, miten Git järjestää ja tallentaa arkistoon., Kulissien takana, arkiston ./.git/objects
hakemistossa, Git tallentaa kaikki toimitukset, paikalliset ja etäiset. Git pitää etähaara ja paikallinen haara sitoutuvat selvästi erillään käyttämällä sivukonttorin refs. Paikallisten sivukonttoreiden REFIT säilytetään ./.git/refs/heads/
. git branch
– komennon toteuttaminen tuottaa luettelon paikallisista haarakonttoreista. Seuraava on esimerkki git branch
lähtö joitakin demo haara nimet.,
git branch
master
feature1
debug2
Tarkastellaan sisällön /.git/refs/heads/
hakemisto paljastaa samanlainen lähtö.
ls ./.git/refs/heads/
master
feature1
debug2
Kauko oksat ovat aivan kuten paikallinen oksat, paitsi ne kartan sitoutuu jonkun toisen arkistoon. Kauko oksat ovat etuliitteenä kauko-ne kuuluvat, jotta et sekoita niitä, joissa paikallinen oksat. Kuten paikallisen oksat, Git on myös refs kauko oksat. Etähaaran REFIT elävät ./.git/refs/remotes/
hakemistossa., Seuraava esimerkki koodinpätkä osoittaa, oksat saatat nähdä kun noudettaessa kauko repo kätevästi nimeltä kauko-repo:
git branch -r
# origin/master
# origin/feature1
# origin/debug2
# remote-repo/master
# remote-repo/other-feature
Tämä lähtö näyttää paikallisen oksat meillä oli aiemmin tutkinut, mutta nyt näyttää ne etuliitteellä origin/
. Lisäksi voimme nyt nähdä, kauko oksat etuliitteellä remote-repo
. Voit tarkistaa kauko haara aivan kuten paikallinen, mutta tämä vie sinut omakotitalo HEAD
valtion (aivan kuten tsekata vanhan tehnyt). Niitä voi pitää vain luettavina oksina., Katsella kauko oksat, yksinkertaisesti siirtää -r
lipun git branch
komento.
Voit tarkastaa kauko oksat tavallista git checkout
ja git log
komennot. Jos hyväksyt etähaaran sisältämät muutokset, voit yhdistää ne paikalliseen haaraan normaalilla git merge
. Toisin kuin SVN, paikallisen arkiston synkronointi etähallinnan kanssa on itse asiassa kaksivaiheinen prosessi: nouda, yhdistä sitten. git pull
– komento on kätevä pikakuvake tähän prosessiin.,
Git hae komennot ja asetukset
git fetch <remote>
Hae kaikki oksat arkistosta. Tämä lataa myös kaikki vaaditut toimitukset ja tiedostot toisesta arkistosta.
git fetch <remote> <branch>
Sama kuin edellä komento, mutta vain noutaa tietyn haara.
git fetch --all
voima liikkua joka hakee kaikki rekisteröidyt kaukosäätimet ja niiden oksat:
git fetch --dry-run
--dry-run
vaihtoehto suorittaa demo ajaa komennon., Se antaa esimerkkejä toimista, joita se toteuttaa noudon aikana, mutta ei sovella niitä.
git fetch kauko-branch
seuraava esimerkki osoittaa, miten noutaa kauko-haara ja päivittää paikallisen työ valtion kaukosäädin sisältö. Tässä esimerkissä oletetaan, siellä on keski-repo alkuperä, josta paikallinen repository on kloonattu alkaen käyttäen git clone
komento. Oletetaan lisäksi, lisäksi remote repository nimeltä coworkers_repo, joka sisältää feature_branch, jotka me määrittää ja noutaa., Näillä oletuksilla annetaan meidän jatkaa esimerkkiä.
Ensinnäkin meidän täytyy määrittää kauko repo käyttäen git remote
komento.
git remote add coworkers_repo [email protected]:coworker/coworkers_repo.git
– Täällä meillä on luotu viittaus työtoverin repo käyttää repo URL-osoite. Siirrämme nyt tuon etänimen git fetch
lataamaan sisällön.
git fetch coworkers_repo coworkers/feature_branch
fetching coworkers/feature_branch
– Meillä on nyt paikallisesti sisällön työtoverit/feature_branch meidän tulee integroida tämä osaksi paikallisen työkopion., Aloitamme tämän prosessin käyttämällä git checkout
– käskyä kassalle vasta ladattua etähaaraa.
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>
lähtö tästä checkout toiminta osoittaa, että olemme omakoti – HEAD
valtio. Tämä on odotettavissa ja tarkoittaa sitä, että HEAD
ref viittaa erotuomariin, joka ei ole linjassa paikallisen historiamme kanssa. On, että HEAD
on suunnattu työtoverit/feature_branch ref, voimme luoda uuden paikallisen oksan, joka ref., Että ’irti HEAD
’ ulostulo osoittaa meille, miten tehdä tämän käyttämällä git checkout
komento:
git checkout -b local_feature_branch
– Täällä meillä on luonut uuden paikallisyhdistys nimeltä local_feature_branch. Näin päivitykset HEAD
osoittavat viimeisintä etäsisältöä ja voimme jatkaa sen kehittämistä tästä eteenpäin.
Synkronoi alkuperä git fetch
seuraava esimerkki kävelee tyypillinen työnkulku synkronoida paikallisen arkiston keskusrekisteriin on master haara.,
git fetch origin
Tämä näyttää oksat, jotka oli ladattu:
sitoutuu näiden uusien kauko-oksat näkyvät neliöt sijaan piireissä alla olevassa kaaviossa. Kuten näette, git fetch
antaa sinulle pääsyn koko haara rakenne toinen arkistoon.,
nähdä, mitä tekee on lisätty alkupään master, voit ajaa git log
origin/master suodattimena:
git log --oneline master..origin/master
hyväksy muutokset ja yhdistää ne osaksi paikalliseen master haara käyttää seuraavia komentoja:
git checkout master
git log origin/master
Sitten voimme käyttää git merge origin/master
:
git merge origin/master
origin/master ja master oksat nyt kohta sama sitoutua, ja olet synkronoitu alkupään kehitys.,
Git fetch yhteenveto
uudelleen, git fetch
on ensisijainen komentoa käytetään ladata sisältöä kauko arkistossa. git fetch
käytetään yhdessä git remote
, git branch
, git checkout
ja git reset
päivittää paikallisen arkiston tilan kauko. git fetch
komento on kriittinen pala yhteistyöhön git työnkulku., git fetch
has similar behavior to git pull
, however, git fetch
can be considered a safer, nondestructive version.