Git vytvořil Linus Torvalds v roce 2005, původně jako software pro správu verzí, aby přispěvatelům lépe umožnil nahrávat kód do linuxového jádra. Git je systém pro správu verzí. Někdy označovaný jako SCM (source control management) systém.
Od té doby jeho použití daleko přerostlo linuxový ekosystém a používají jej miliony softwarových vývojářů po celém světě (42,9 % všech softwarových vývojářů jej používá přes jakýkoli jiný systém správy verzí). Není to jen pro vývojáře softwaru, běžné joe, kteří chtějí sdílet nebo ukládat věci, například konfigurační soubory nebo webové stránky. Git jim umožňuje mít místo, kde mohou ukládat (a co je důležitější, spolupracovat – nebo se slučovat ) jejich obsah.
Co přesně dělá, laicky řečeno?
Zde jsou dva hlavní důvody, proč byste měli chtít používat Git:
- Spolupráce :Chcete spolupracovat na některých souborech – např. vývojář napíše jeden řádek kódu a jiný vývojář napíše dva řádky kódu. To lze ‚sloučit‘ zpět na ‚git server‘, takže se z toho stane jeden soubor.
- Kontrola/sledování verze :Chcete mít možnost sledovat změny, které provedli ostatní přispěvatelé. Schopnost sledování vám umožní zjistit, zda existují chyby, které je třeba vrátit.
Dalším důvodem je, že pokud pracujete v práci, která jakýmkoli způsobem zahrnuje vývoj aplikací (například pokud jste kodér nebo správce systému, který potřebuje provádět revize dat správy konfigurace nebo jen klonovat kód vývojářů ) – používání Git je v dnešní době všeobecně uznávaným systémem pro správu verzí. Pokud nebudete vědět, jak jej používat, pravděpodobně se dostanete do nevýhodné pozice v kariéře.
Git vs Github
Git server lze nainstalovat na jakýkoli server Linux. Přístup k němu obecně vyžaduje použití klienta git , což je nástroj příkazového řádku. Více o tom v níže uvedené sekci.
Github je široce používaná webová veřejná služba Git, která lidem umožňuje pracovat na projektech přes internet. Není spojen s Linusem Torvaldsem ani s kýmkoli z git projektu, je to webová adaptace git serveru. Využívá všechny hlavní komponenty git a nabízí další rozšiřitelnost prostřednictvím svého webového rozhraní. Hlavní výhodou githubu je, že se jedná o veřejné úložiště git, ke kterému se stále můžete připojit přes obvyklého klienta git. Github také nabízí služby soukromého úložiště, ale ty jsou placené.
K dispozici jsou také další komerční produkty, které implementují některé nebo všechny služby git, jako je Atlassian Bitbucket.
Důležitá terminologie a příkazy
Příkaz git client se zadává na terminálu a má řadu možností. Zjistíte, že git je pravděpodobně již nainstalován na vašem počítači se systémem Linux. Pokud tomu tak není, je jisté, že lze očekávat, že jde pouze o instalaci apt-get nebo yum.
Nejrelevantnější z nich jsou uvedeny níže. Mějte to po ruce, protože se vám bude hodit jako cheat-list když začínáte s Git:
Příkaz | Popis |
klon | Vytvoří kopii úložiště git. Například kdykoli stáhnete věci z webu github/git (úložiště), budete používat klon . |
init | Inicializuje prázdné úložiště Git v aktuálním adresáři. např.: git init /home/mycode |
stav | Zobrazuje stav úložiště. Budete to dělat často, abyste mohli sledovat jakékoli změny v úložišti. |
přidat | Přidá soubor(y) do pracovní oblasti, aby bylo možné lokálně sledovat změny. Říká gitu, aby začal sledovat změny pro soubor, který určíte. Upozorňujeme, že tyto změny nepotvrdí větev, je to v místní pracovní oblasti, např.:
Chcete-li přidat více souborů/adresářů, potřebujete závorky kolem zástupných znaků, takže git získá seznam souborů dříve, než shell se zástupným znakem začne pracovat. Tento příklad přidá každý soubor .jpg do všech adresářů pod aktuálním adresářem (včetně aktuálního adresáře):
|
zavázat se | Potvrdit postupnou (přidanou) změnu. Provést změnu znamená „všechny tyto přidání Udělal jsem, vyjměte je z pracovní oblasti a odevzdejte je do mého úložiště.“ . Je povinné zavázat se zprávou. Zpráva by měla popisovat, k čemu je odevzdání, např. můžete říci, že jste přidali několik jpegů koček. |
dálkové | Nakonfigurujte vzdálené úložiště pro odesílání odevzdání. Jakékoli změny, které jste provedli lokálně, lze nahrát do vzdáleného úložiště. Github je například vzdálené úložiště. Chcete-li inicializovat připojení ke vzdálenému serveru git, použijte git remote. Např.:
|
tlačit | Přenést potvrzené změny do vzdáleného úložiště. Jakmile inicializujete své vzdálené úložiště, můžete do něj odeslat potvrzené změny pomocí push:
|
vytáhnout | Sloučí změny ze vzdáleného úložiště s vaší místní kopií. Jakmile lidé (nebo vy) potvrdíte více změn v úložišti, chcete odeslat požadavek na stažení změn, které máte lokálně sloučeny s upstreamovým (vzdáleným) úložištěm.
|
rozdíl | Ukazuje, jaké rozdíly byly v úložišti od posledního odevzdání. Když změny provede ve vzdáleném úložišti více než jedna osoba, budou rozdíly mezi tím, co jste uložili lokálně, a tím, co je na vzdáleném serveru. Rozdíly se nazývají rozdíly . Když provedete tah , umožní vám to místní Chcete-li zobrazit rozdíly mezi vaším posledním odevzdáním a tím, co existuje ve vzdáleném úložišti, můžete použít ukazatel HEAD. HEAD je jednoduše indikátor pozice, ve výchozím nastavení ukazuje na vaše nejvíce nedávné odevzdání.
Výstup zobrazí rozdíly mezi vaší kopií jakýchkoli změněných souborů a vzdálenou kopií (sčítání a odečítání). Chcete-li vidět rozdíly mezi soubory ve fázi (přidat ed) oblast a místní soubory na vašem PC, použijte |
pokladna | Vrátit se k předchozímu odevzdání nebo přepnout větve. Řekněme, že jste provedli odevzdání souboru.txt, o kterém jste se rozhodli, že není dobrý, a chcete se vrátit k předchozí potvrzené verzi, vrátili byste to takto:
Chcete-li změnit větev, zadejte název větve (místo použití — nebo zadání názvu souboru, který chcete vrátit):
|
pobočka | Vytvoří novou kopii (větev). Příkaz také odstraní nebo vypíše stávající větve. Další informace o tom, co je ‚větev‘, naleznete v terminologii níže. Níže uvedený příklad vytvoří novou větev s názvem ‚newbranch‘:
Níže uvedený příklad smaže „newbranch ‘:
|
rm | Odstraní soubory z aktuální větve i z místního disku. Chcete-li odstranit všechny soubory, použijte rm stejně jako byste přidali:
|
sloučit | Sloučí jednu větev do druhé. Jako praktický příklad pokračujte od rm příklad příkazu výše, předpokládejme, že jste provedli rm *.txt z větve newbranch . Pokud byste chtěli tuto změnu sloučit do hlavní nejprve byste se přepnuli zpět na master větev vydáním git checkout master, poté pomocí příkazu merge sloučit rozdíly z nové větve zpět do aktuální větve (master ). Většina týmů vývojářů bude na svém kódu pracovat v samostatných větvích, než je na konci dne sloučí do hlavní větve.
|
resetovat | Vrátí (odstraní) všechny naplánované změny. Pokud jste například provedli příkaz git add file.txt, ale poté se před potvrzením rozhodnete, že soubor.txt by neměl být potvrzen, zadejte příkaz reset, např.:git reset soubor.txt |
log | Zobrazit deník všech potvrzených změn. Např.:git log |
Terminologie
Některá terminologie, které budete muset porozumět, je:
- Požadavky na stažení – Když tým pracuje na změnách kódu, požadavek na stažení se používá k signalizaci správci úložiště, aby sloučil novou změnu.
- Pobočka – Pobočka je jednoduše kopie existujícího úložiště. Ve výchozím nastavení začíná každé úložiště „Master ' větev. Master je název hlavní větve.
- Hlavní větev obvykle není pracovní větev, často se používá jako větev, když všichni vývojáři dokončili (potvrdili) svůj kód. Poté se do něj na konci dne sloučí z jiných pracovních větví.
- Fork – Fork je duplicitní kopie něčího úložiště. Umožňuje vám provádět jakékoli změny v kódu, aniž by to ovlivnilo původní projekt/úložiště. Používá se buď k vytvoření nové aplikace z původního kódu, nebo jako pracovní nula, která umožňuje vývojáři navrhnout změny v projektu.
- Staging – Když je soubor přidán (s git add) říká se, že je inscenován nebo v procesu stagingu. Když změnu potvrdíte, již není zinscenována.
- Připravování probíhá na vašem místním počítači, nikoli ve vzdáleném úložišti.
- V praktickém příkladu řekněme, že máte spoustu souborů, které jsou ve vzdáleném úložišti
Viz také
Vestavěná manuálová stránka s názvem ‚gittutorial‘ je dobře napsaný tutoriál, který vás provede spletitami a nevýhodami používání Git. Chcete-li ji zobrazit, zadejte následující příkaz:
man 7 gittutorial
Důrazně doporučujeme následující webové odkazy:
- Interaktivní výukový program (trygit)
- Oficiální web
- web github