
Mark Lucas
0
4613
655
Jako weboví vývojáři hodně času máme tendenci pracovat na webech pro místní rozvoj, pak vše jednoduše nahrajeme, až budeme hotovi. To je v pořádku, když jste to jen vy a změny jsou malé, ale když máte co do činění s více než jednou osobou, která pracuje na něčem, nebo na velkém projektu se spoustou složitých komponent, to prostě není možné. Tehdy se obrátíme na něco, co se nazývá kontrola verzí.
Dnes budu mluvit o open source softwaru pro správu verzí zvaném Git. To umožňuje více než jedné osobě bezpečně pracovat na stejném projektu, aniž by se vzájemně ovlivňovaly, ale je to mnohem víc než to.
Proč používat Software pro správu verzí?
V první řadě by to jméno mělo dát pryč. Software pro správu verzí vám umožní mít “verze” projektu, který ukazuje změny, které byly v kódu provedeny v průběhu času, a umožňuje vám v případě potřeby ustoupit a tyto změny vrátit zpět. Tato schopnost sama o sobě - schopnosti porovnat dvě verze nebo zvrátit změny, je při práci na větších projektech docela neocenitelná.
Pravděpodobně jste to někdy udělali sami, když si na různých místech uložíte kopie projektu, takže máte zálohu. V systému pro správu verzí by byly uloženy pouze změny - opravný soubor, který lze použít pro jednu verzi, aby byl stejný jako následující verze. U jednoho vývojáře to stačí.
Ale co když máte na projektu více než jednoho vývojáře? To je, když přichází myšlenka centralizovaného serveru pro správu verzí. Tyto standardy jsou již dlouhou dobu standardem, kdy jsou všechny verze uloženy na centrálním serveru a jednotlivé vývojáři checkout a uploadují změny zpět na tento server. Pokud jste se někdy podívali na historii úprav na stránce Wikipedie, máte dobrou představu o tom, jak to funguje ve scénáři skutečného světa:
Výhodou systému, jako je tento, je to, že několik vývojářů může provádět změny a každou změnu pak lze připsat konkrétnímu vývojáři. Nevýhodou je, že skutečnost, že je vše uloženo ve vzdálené databázi, znamená, že při výpadku serveru nelze provádět žádné změny; a pokud dojde ke ztrátě centrální databáze, má každý klient pouze aktuální verzi toho, na čem pracovali.
To nás zavede do Gitu a dalších takzvaných distribuované systémy pro správu verzí. V těchto systémech klienti nejen prověřují aktuální verzi souborů a pracují z nich - zrcadlí celou historii verzí. Každý vývojář má vždy úplnou kopii všeho. Centrální server je stále používán, ale pokud by se to nejhorší stalo, pak je možné vše obnovit od všech klientů, kteří mají nejnovější verze..
Git konkrétně pracuje tím, že vezme “snímky” souborů; Pokud soubory zůstanou v určité verzi nezměněny, jednoduše se spojí s předchozími soubory - vše bude rychlé a štíhlé.
Mohlo by vás také zajímat, že se Git používá ke správě a vývoji jádra linuxového jádra - základního stavebního bloku, na kterém jsou postavena všechna linuxová distros.
Co je Github?
Přestože můžete svůj vlastní server Git provozovat lokálně, je Github vzdáleným serverem, komunitou vývojářů a grafickým webovým rozhraním pro správu projektu Git. Je zdarma používat až 5 veřejných úložišť - to znamená, když si kdokoli může prohlížet nebo rozvětvovat váš kód - s nízkými náklady na soukromé projekty. Důrazně doporučujeme, abyste se zaregistrovali na bezplatný účet, abyste mohli začít hrát s vlastními projekty nebo rozvětvovat někoho jiného.
Rozvětvení a větvení
Toto jsou základní pojmy zážitku Git, takže si udělejme chvíli, abychom vysvětlili rozdíl.
Pravděpodobně jste tu práci slyšeli “Vidlička” při řešení linuxových distribucí. Pokud jste obeznámeni s aplikací Media Center Plex, budete vědět, že to byla původně vidlička podobného open source Xbox Media Center Aeon Nox 3.5: Krásné a přizpůsobitelné téma pro XBMC Aeon Nox 3.5: Krásné a přizpůsobitelné téma pro XBMC Set Uprostřed mediálního centra přesně podle vašich představ. Aeon Nox 3.5 je nejnovější verzí možná nejlepšího tématu pro XBMC a je to vzácná kombinace: krásná…. To jednoduše znamená, že v minulosti někteří vývojáři převzali kód XBMC a rozhodli se s ním jít svou vlastní cestou; z toho se stal Plex.
To je samozřejmě zcela povoleno, když je projekt otevřeným zdrojovým kódem - můžete si vzít kód, dělat s ním cokoli chcete. S Gitem, pokud máte pocit, že jsou vaše změny dost dobré, aby mohly být vráceny zpět do “mistr” projekt, můžete udělat “vyžádat si žádost” autorovi a požádejte je, aby své změny stáhli zpět do původního projektu. To vám umožní mít stovky tisíc vývojářů, kteří pracují na projektu v kterémkoli bodě, z nichž žádný nemusí být nutně schválen pro přístup k kódu - pouze zkopírují kód, provedou změny a požádají o vrácení zpět do hlavního serveru. Samozřejmě je na vlastníkovi původního projektu, pokud se rozhodnou vaše změny přijmout nebo ne.
Větvení je něco, co se provádí interně na projektu autorizovanými vývojáři. To vám umožní snadno oddělit konkrétní problémy nebo funkce a pracovat na nich bez porušení hlavních souborů. Až budete spokojeni s tím, že vaše pobočka problém vyřešila, sloučíte ji zpět do pána. V každém okamžiku může být tolik poboček, kolik chcete; nezasahují do sebe. Můžete také sloučit změny mezi větvemi, aniž byste se dotkli předlohy.
Zde je skvělý diagram příkladu pracovního postupu Vincenta Driessena:
Příště se podíváme na to, jak nastavit funkční příklad Git a provést změny kódu v rámci větví. Správa verzí je obrovské téma. Uváděl jsem zde pouze nejkratší přehled, ale jako vývojář, který je zvyklý dělat jen změny a zrušit je, pokud nefungují, mi celá mysl vyprskla celá koncepce - doufám, že to také vaše.
Jste zkušený vývojář se zkušenostmi v Gitu? Začínáte a myslíte si, že byste se chtěli projít? V komentářích zní zvuk!