zde podrobně prozkoumáme příkaz git clone
. git clone
je nástroj příkazového řádku git, který se používá k cílení na existující úložiště a vytvoření klonu nebo kopie cílového úložiště. Na této stránce budeme diskutovat o rozšířených možnostech konfigurace a běžných případech použití git clone
., Některé body, budeme pokrývat zde jsou:
- Klonování místního nebo vzdáleného repozitáře
- Klonování bare repozitář
- Pomocí mělké možností, jak částečně klon repozitáře
- Git URL syntaxe a podporované protokoly
Na nastavení úložiště, průvodce, jsme se vztahuje základní použití git clone
. Tato stránka bude zkoumat složitější klonování a konfigurace scénáře.,
Účel: repo-k-repo spolupráce rozvoj kopírování
v Případě, že projekt byl již zřízen v centrálním úložišti, git clone
příkaz je nejčastější způsob, jak pro uživatele k získání rozvoje kopii. Stejně jako git init
je klonování obvykle jednorázovou operací. Jakmile vývojář získá pracovní kopii, všechny operace správy verzí a spolupráce jsou spravovány prostřednictvím místního úložiště.,
Repo-k-repo spolupráce
je důležité pochopit, že Git je myšlenka „pracovní kopie“ je velmi odlišná od pracovní kopie dostanete mimo kontrolu kód z SVN repozitáře. Na rozdíl od SVN git nerozlišuje mezi pracovní kopií a centrálním úložištěm-jsou to plnohodnotné repozitáře Git.
díky tomu je spolupráce s Git zásadně odlišná než s SVN. Zatímco SVN závisí na vztahu mezi centrálním úložištěm a pracovní kopií, model spolupráce společnosti Git je založen na interakci úložiště s úložištěm., Namísto kontroly pracovní kopie do centrálního úložiště SVN stisknete nebo vytáhnete commity z jednoho úložiště do druhého.
samozřejmě vám nic nebrání dát určitým git repos zvláštní význam. Například tím, že jednoduše označíte jeden git repo jako“ centrální “ úložiště, je možné replikovat centralizovaný pracovní postup pomocí Git. Jde o to, že toho je dosaženo konvencemi, než aby bylo pevně zapojeno do samotného VCS.,
Použití
git clone
se používá především poukázat na existující repo a vytvořit klon nebo kopii repo na v novém adresáři, na jiném místě. Původní úložiště může být umístěno na lokálním souborovém systému nebo na vzdáleném počítači přístupných podporovaných protokolech. Příkaz git clone
zkopíruje existující úložiště Git. To je něco jako SVN checkout, s výjimkou „pracovní kopie“ je plnohodnotné Git repository—to má svou vlastní historii, řídí vlastní soubory, a je zcela izolovaná prostředí od původního úložiště.,
klonování automaticky vytvoří vzdálené připojení nazvané „origin“ směřující zpět do původního úložiště. Díky tomu je velmi snadné komunikovat s centrálním úložištěm. Toto automatické připojení je navázáno vytvořením Git odkazech ke vzdálené pobočky hlavy pod refs/remotes/origin
a inicializaci remote.origin.url
remote.origin.fetch
konfigurační proměnné.
příklad demonstrující pomocí git clone
lze nalézt v příručce nastavení úložiště., Níže uvedený příklad ukazuje, jak získat místní kopii centrálního repozitáře uloženy na serveru, dostupné na example.com
pomocí SSH uživatelské jméno john:
git clone ssh://[email protected]/path/to/my-project.git
cd my-project
# Start working on the project
první příkaz inicializuje nový Git repozitář v my-project
složky na vašem místním počítači a zaplní jej s obsahem centrálního úložiště. Poté můžete do projektu vložit cd a začít upravovat soubory, spouštět snímky a komunikovat s jinými úložišti., Všimněte si také, že rozšíření.git
je z klonovaného úložiště vynecháno. To odráží ne-holý stav místní kopie.
Klonování do určité složky
git clone <repo> <directory>
Naklonovat repozitář umístěný v <repo>
do složky s názvem ~<directory>!
na lokálním počítači.
Klonování konkrétní značku
git clone --branch <tag> <repo>
Naklonovat repozitář umístěný v <repo>
a to pouze klon ref <tag>
.,
Mělký klon
git clone -depth=1 <repo>
Naklonovat repozitář umístěný v <repo>
a to pouze klonovat
historie commitů, určený možnost hloubka=1. V tomto příkladu je vytvořen klon <repo>
a do nového klonovaného repa je zahrnut pouze poslední commit. Mělké klonování je nejužitečnější při práci s repos, které mají rozsáhlou historii odevzdání. Rozsáhlá historie odevzdání může způsobit problémy se škálováním, jako jsou limity využití místa na disku a dlouhé čekací doby při klonování., Mělký klon může pomoci zmírnit tyto problémy se škálováním.
možnosti Konfigurace
git clone -pobočka
-branch
argument umožňuje zadat konkrétní pobočku klon místo pobočky vzdálené HEAD
ukazuje se, obvykle hlavní větvi. Kromě toho můžete předat značku namísto větve pro stejný efekt.
git clone -branch new_feature git://remoterepository.git
výše uvedený příklad by klon pouze new_feature
větev ze vzdáleného repozitáře Git., Jedná se čistě o nástroj přesvědčit, aby vám ušetřil čas od stahováníHEAD
ref úložiště a poté musel dodatečně načíst ref, který potřebujete.
git clone -zrcadlo vs. git clone -holé
git clone –holé
Podobné git init --bare,
-bare
argument je předán do git clone,
kopie vzdáleného repozitáře se provádí s vynechány pracovní adresář., To znamená, že úložiště bude zřízena s historií projektu, které mohou být tlačil a vytáhl z, ale nelze upravovat přímo. Kromě toho, žádné vzdálené větve pro repo být nakonfigurován s -bare
úložiště. Jako git init --bare,
toto se používá k vytvoření hostovaného úložiště, které vývojáři nebudou přímo upravovat.
git clone –mirror
složení --mirror
argument implicitně prochází --bare
argument stejně., To znamená, že chování --bare
je zděděno --mirror
. Výsledkem je holé repo bez editovatelných pracovních souborů. Kromě toho, --mirror
klonovat všechny rozšířené rozhodčí vzdáleného úložiště, a udržovat vzdálené pobočky sledování konfigurace. Poté můžete spustitgit remote
aktualizace na zrcadle a přepíše všechny refs z původního repo. Dává vám přesné „zrcadlené“ funkce.,
další možnosti konfigurace
úplný seznam dalších možností klonu git naleznete v oficiální dokumentaci git. V tomto dokumentu se dotkneme některých dalších běžných možností.
git clone –šablony
git clone --template=<template_directory> <repo location>
Klony repo na <repo location>
a použije šablonu z <template directory>
do nově vytvořené místní pobočky. Důkladný přehled o šablonách Git najdete na naší stránce git init
.,
Git URL
git má svou vlastní syntaxi URL, která se používá k předávání vzdálených umístění úložiště příkazům Git. Protože git clone
se nejčastěji používá na vzdálených úložištích, prozkoumáme zde syntaxi GIT URL.
GIT URL protocols
– SSH
Secure Shell (SSH) je všudypřítomný ověřený síťový protokol, který je standardně nakonfigurován na většině serverů. Protože SSH je ověřený protokol, budete muset vytvořit pověření s hosting server před připojením., ssh://host.xz/path/to/repo.git/
– git
– HTTP
Hyper text transfer protocol. Protokol webu, nejčastěji používaný pro přenos webových stránek HTML dat přes Internet. Git může být nakonfigurován tak, aby komunikovat přes HTTP
Shrnutí
V tomto dokumentu jsme se zhluboka podívejte se na git clone
. Nejdůležitější takeaways jsou:git clone
se používá k vytvoření kopie cílového repo
2. Cílové repo může být lokální nebo vzdálené
3. Git podporuje několik síťových protokolů pro připojení ke vzdáleným repo
4., Existuje mnoho různých možností konfigurace, které mění obsah klonu