git fetch (Čeština)

git fetch (Čeština)

git fetch příkaz popularita zavazuje, soubory, a rozhodčí ze vzdáleného úložiště do místního repo. Načítání je to, co děláte, když chcete vidět, na čem všichni ostatní pracují. Je to podobné svn update v tom, že vám umožní vidět, jak centrální historie pokročila, ale nenutí vás skutečně sloučit změny do úložiště. Git izoluje načtený obsah od stávajícího místního obsahu; nemá absolutně žádný vliv na vaši místní rozvojovou práci., Načtený obsah musí být explicitně odhlášen pomocí příkazu git checkout. Díky tomu je načítání bezpečného způsobu revize revizí před jejich integrací do místního úložiště.

při stahování obsahu ze vzdáleného repo jsou k dispozici příkazygit pull agit fetch. Můžete zvážit git fetch „bezpečná“ verze obou příkazů. Stáhne vzdálený obsah, ale neaktualizuje pracovní stav místního repa a ponechá vaši aktuální práci neporušenou., git pull je více agresivní alternativa; to bude stahovat vzdálený obsah pro aktivní místní pobočky a okamžitě provést git merge vytvořit merge commit pro nové vzdáleného obsahu. Pokud čekáte na probíhající změny, způsobí to konflikty a odstartuje tok řešení konfliktů sloučení.

Jak git fetch podporuje vzdálené větve

Pro lepší pochopení, jak git fetch funguje, pojďme diskutovat o tom, jak Git organizuje a ukládá zavazuje., V zákulisí, v adresáři ./.git/objects, git ukládá všechny commity, místní a vzdálené. Git udržuje vzdálené a místní větev se zřetelně oddělí pomocí větve refs. Refs pro místní pobočky jsou uloženy v ./.git/refs/heads/. Spuštění příkazu git branch zobrazí seznam refs místní větve. Následuje příklad výstupu git branch s některými názvy demo větví.,

git branch
master
feature1
debug2

zkoumání obsahu /.git/refs/heads/ by odhalilo podobný výstup.

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

vzdálené větve jsou stejně jako místní větve, kromě toho, že mapují commity z úložiště někoho jiného. Vzdálené větve jsou označeny pomocí dálkového patří, takže nemusíte míchat s místními pobočkami. Stejně jako místní pobočky má Git také refs pro vzdálené pobočky. Vzdálená větev refs žije v adresáři ./.git/refs/remotes/., Následující příklad kódu ukazuje, větve můžete vidět po načtení vzdáleného repo pohodlně s názvem remote-repo:

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

Tento výstup zobrazuje místní pobočky jsme již dříve zkoumáno, ale nyní zobrazuje je s předponou origin/. Kromě toho nyní vidíme vzdálené větve s předponou remote-repo. Můžete se podívat na vzdálené pobočky, stejně jako místní, ale to vám dává v samostatně stojící HEAD stát (stejně jako mimo kontrolu staré commit). Můžete je považovat za větve pouze pro čtení., Chcete-li zobrazit vzdálené větve, jednoduše předejte příznak -r příkazu git branch.

vzdálené větve můžete kontrolovat pomocí obvyklých příkazů git checkout a git log. Pokud schválíte změny, které vzdálená větev obsahuje, můžete je sloučit do místní větve s normálním git merge. Na rozdíl od SVN je tedy synchronizace místního úložiště se vzdáleným úložištěm ve skutečnosti dvoufázovým procesem: načtení a sloučení. Příkaz git pull je vhodnou zkratkou pro tento proces.,

Git fetch příkazy a možnosti

git fetch <remote>

Načíst všechny větve z repository. To také stáhne všechny požadované revize a soubory z druhého úložiště.

git fetch <remote> <branch>

stejný jako výše uvedený příkaz, ale načíst pouze zadanou větev.

git fetch --all

power pohyb, který načte všechny registrované dálkové ovladače a jejich větví:

git fetch --dry-run

--dry-run možnost provádět demo spustit příkazu., Zobrazí příklady akcí, které bude trvat během načtení, ale nepoužije je.

git načíst vzdálenou větev

následující příklad ukáže, jak načíst vzdálenou větev a aktualizovat místní pracovní stav na vzdálený obsah. V tomto příkladu předpokládejme, že existuje centrální repo původu, z nichž místní úložiště byl klonován z používání git clone příkaz. Předpokládejme také další vzdálené úložiště s názvem coworkers_repo, které obsahuje feature_branch, který nakonfigurujeme a načteme., S těmito stanovenými předpoklady pokračujme v příkladu.

Nejprve budeme muset nakonfigurovat vzdálené repo pomocí příkazu git remote.

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

zde jsme vytvořili odkaz na repo spolupracovníka pomocí repo URL. Nyní tento vzdálený název předáme git fetch pro stažení obsahu.

git fetch coworkers_repo coworkers/feature_branch
fetching coworkers/feature_branch

Jsme nyní lokálně mají obsah spolupracovníky/feature_branch budeme potřebovat integrovat do naší místní pracovní kopie., Tento proces zahájíme pomocí příkazu git checkout k pokladně nově stažené vzdálené větve.

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>

výstup z této pokladní operace, naznačuje, že jsme v rodinném HEAD státu. Očekává se, že a znamená, že naše HEAD ref ukazuje na ref, který není v pořadí s naší místní historie. HEAD je ukázal na spolupracovníky/feature_branch ref, můžeme vytvořit nové místní pobočky z ref., ‚Samostatná budova HEAD‚ výstup nám ukazuje, jak to udělat pomocí git checkout příkaz:

git checkout -b local_feature_branch

Zde jsme vytvořili nové místní pobočky jménem local_feature_branch. Tím se aktualizace HEAD ukazují na nejnovější vzdálený obsah a od tohoto okamžiku můžeme pokračovat ve vývoji.

synchronizace původu s GIT fetch

následující příklad prochází typickým pracovním postupem pro synchronizaci místního úložiště s hlavní větví centrálního úložiště.,

git fetch origin

Toto se zobrazí větve, které byly staženy:

zavazuje, ze tyto nové vzdálené větve jsou zobrazeny jako čtverečky místo kruhů v diagramu níže. Jak můžete vidět, git fetch vám umožní přístup k celé struktuře větve jiného úložiště.,

Aby viděli, co se dopustí byly přidány do nadřazeného master, můžete spustit git log pomocí origin/master jako filtr:

git log --oneline master..origin/master

schválit změny a sloučit je do své lokální hlavní větev, použijte následující příkazy:

git checkout master
git log origin/master

Pak můžeme použít git merge origin/master:

git merge origin/master

origin/master a master větve nyní poukazují na stejné spáchat, a ty jsou synchronizované s předcházejícím vývojem.,

git fetch summary

in review, git fetch je primární příkaz používaný ke stažení obsahu ze vzdáleného úložiště. git fetch se používá ve spojení s git remote git branch git checkout git reset aktualizovat místní úložiště do stavu dálkového ovládání. Příkaz git fetch je kritickým dílem kolaborativních pracovních toků git., git fetch has similar behavior to git pull, however, git fetch can be considered a safer, nondestructive version.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *