Obsah
Změny v Git Nejsou stejné jako v jiných systémech pro správu a správu verzí, protože ukládáním pouze toho, co se skutečně změnilo, zmenšuje velikost souborů generovaných pro ovládání a také mu dává větší agilitu.Aspekt, který toto vše ovládá, je index kdo má odpovědnost vědět, kdo, co a kdy ze všech provedených změn, proto po přidání různých aspektů k našim index z větev hovor je uskutečněn spáchat.
Co je to potvrzení?v Git Víme, že abychom mohli přidat změnu, musíme provést a spáchat stejný, jakmile byl přidán do indexu úložiště. Co je však a spáchat přesně? Tuto otázku si ne vždy pokládáme sami od sebe Git zvládá to je docela jasné, ale a spáchat je to tak Git registruje aktuální stav indexu úložiště a ukládá jej do odpovídajícího objektu, tímto způsobem každý spáchat je odvozen od předchozího a strukturu, která neprochází změnami, lze tedy znovu použít.
Řízení zdrojů, díky kterému je to tak rychlé, je dáno srovnáváním SHA1 Pokud tedy mají prvky v rejstříku stejnou hodnotu hash, nepokračují v jejich změnách, protože jsou totožné, a jsou tedy odebrány pouze soubory, které se skutečně změnily.
Způsob, jakým zavazuje nám umožňuje vytvořit hierarchické struktury, které dávají jistotu získání původu všech registrovaných změn, takže pokud budeme dodržovat osvědčené postupy Git Nikdy se neztratíme, díky unikátním identifikátorům si také můžeme být jisti, že pokud nějaká funkce způsobila problém, lze jej najít v přesném bodě, kde byl zahrnut.
Komentovali jsme, jak zavazuje mít hash in SHA1 s nimiž je lze identifikovat, ukazuje se, že tento hash je také činí jedinečnými a neopakovatelnými, tj. pokud máme spáchat a v jiném úložišti je nalezen stejný hash, abychom věděli, že je stejný spáchat.
Z tohoto důvodu spáchat je také zvažováno atomový, to znamená, že jako jedna jednotka nezávisle ukládá stav mnoha adresářů nebo souborů, s tím můžeme odkazovat na spáchat jako jednotka v našem úložišti, a tak být schopen zacházet s každým jako s prvkem, který, ačkoliv souvisí s předchozím, je jedinečný.
Ačkoli hash SHA1 slouží jako jedinečný identifikátor pro spáchat, jeho struktura 40 alfanumerických znaků může představovat problém, když chceme komunikovat s jiným vývojářem a vysvětlit to spáchat Povídáme si.
Relativní jménaK vyřešení tohoto problému můžeme vytvořit relativní jména a snadněji zapamatovatelné zavazujeTy nenahrazují hash, ale fungují jako druh štítku, který nám umožňuje identifikovat je lidštěji.
Mluvit o posledním spáchat z větev můžeme jednoduše odkázat HLAVA, protože toto bude vždy odkazovat na nejnovější a nejnovější spáchatProtože to však nebudeme vždy požadovat, stačí, když použijeme první znaky hash, ačkoli to nebude vždy jedinečné, tak přidáním dalších postav dosáhneme odpovídající jedinečnosti.
Podívejme se tedy na příkaz, který musíme použít k jeho dosažení:
git log -1 --pretty = potvrzení jednoho řádku
Nyní na následujícím obrázku uvidíme, jak identifikujeme a spáchat v našem testovacím úložišti za tímto účelem nejprve vyhledáme, který je SHA1 z HLAVA a pak to nazveme podle prvních znaků, podívejme se:
V předchozím příkladu jsme objevili nástroj pro Git to může být velmi užitečné a je log příkaz„Je to velmi silné, protože nám to umožňuje najít různé spáchat rychlým a přesným způsobem, nicméně má mnoho parametrů a konfigurací, které může být v první řadě obtížné zapamatovat si, ale abychom je mohli používat, nemusíme se je všechny učit, můžeme jít kousek po kousku, zatímco si na to zvykneme použití.
Pokud chceme vidět historii potvrzení, proveďte následující:
git log název větve
Díky tomu získáme podrobné informace o historii našich větev a jejich zavazujePodívejme se, jak to vypadá v naší konzole v úložišti testů, které máme:
Pak si všimneme, jak zavazuje jsou organizovány od nejnovějších po nejstarší, což nám umožňuje trochu vidět historickou linii změn, které utrpěly větev zvolen pro zobrazení historického protokolu.
Protože práce na konzole je někdy trochu těžká, i když je to velmi nutné, Git nám nabízí nástroj, který nám umožňuje prohlížet historii zavazuje graficky a je gitk není dílčím příkazem Git jako například protokol, který jsme již viděli, ale je to nezávislý příkaz a umožňuje nám přístup k podrobnějším informacím o větvi a její historii.
Abychom to mohli použít, musíme jednoduše provést následující příkaz:
gitk nameBranch
Podívejme se, jak to vypadá v konzole:
Ačkoli se může zdát, že se nic nestalo, zanedlouho se nám zobrazí okno s požadovanou grafikou větev specifikován, jak můžeme vidět na následujícím snímku obrazovky:
ZVĚTŠIT
Můžeme si všimnout, že kromě vylepšení jeho vizualizace máme mnohem větší detaily.Ref Y Symrefs patřit k Reference Y symbolické odkazy respektive první odpovídá identifikátoru SHA1 objektu v rámci objektu v našem úložišti, na druhou stranu druhý nepřímo odpovídá objektu, navzdory svému názvu je také referencí.
Tuto strukturu odkazů je velmi důležité znát, protože nám umožní porozumět organizaci našeho adresáře zavazuje Y větve v rámci Git, které jsou uloženy v adresáři .git / ref.
Vytvoření symbolické referencePokud chceme explicitně vytvořit soubor symbolický odkaz stačí použít příkaz git symbolic-ref, a přestože je možné používat názvy jako HLAVA u těchto odkazů není vhodné, protože nás nakonec mohou vést ke zmatku, který může způsobit poškození našeho úložiště.
Nakonec se podívejme, jak vypadá spuštění tohoto příkazu, když jej použijeme v našem testovacím úložišti:
Další zajímavý aspekt zavazuje, je to, s čím můžeme pracovat relativní jménaDíky tomu je hledání rozsahů potvrzení velmi jednoduché, například pokud chceme zjistit, co existuje mezi recenzemi v určitém období, můžeme to udělat.
Abychom toho dosáhli, musíme použít pouze název větve plus symbol ^ a číslo revize. Například mistr ^ kde odkazujeme na předposlední změnu provedenou v větev mistr.
Historie úložištěTímto způsobem budeme moci procházet celou historií našeho úložiště, což nám dává možnost přístupu vzhledem k zavazuje které nám umožnily mít ten současný, pokud se řídíme strukturou mistr 2 vezme nás k druhému otci spáchat, tedy ten, kdo dal život souběžně, také s ~ můžeme přistupovat k otci otce našeho aktuálního závazku, tedy k dědečkovi, abychom to nějakým způsobem zapsali do genealogie.
Příkladem může být mistr 2 ~ 3 Chcete -li odkazovat na historické změny v našem úložišti, chceme -li získat název relativního potvrzení, musíme jednoduše použít následující příkaz:
git rev-parse RelativeName
Tím se vrátí SHA1 z spáchat ke kterému jsme dorazili. Podívejme se na následujícím obrázku, jak můžeme získat název aktuálního potvrzení z master a pomocí mistr ~ jméno prvního rodiče téhož, který by byl spáchat ze kterého začínáme:
Pak jsme si všimli, jak jsme byli schopni získat dva SHA1 odlišné a platné v našem úložišti, pouze pomocí relativní jména.
Tím tento tutoriál dokončujeme, představili jsme nové koncepty toho, co zavazuje v rámci GitTo nám dává možnost lépe porozumět strukturám našich úložišť, díky čemuž se nám bude organizace zdát logičtější, a tak můžeme být mnohem efektivnější při správě změn v našem kódu. Způsob, jakým Git správa rozdílů ji činí tak výjimečnou, a proto se stala jedním z předních správců verzí dnešní technologie.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod