GNU/Linux >> Znalost Linux >  >> Linux

Jak na to:Úvod do používání Git

Úvod

Git je systém pro správu verzí. Umožňuje udržovat, měnit, zálohovat a sdílet mnoho souborů a zároveň automaticky uchovávat záznamy o všech předchozích verzích. Tyto typy souborů zahrnují, ale nejsou omezeny na:soubory kódu, dokumenty, smlouvy, soubory HTML a CSS a další. Vše, co je založeno na textu, je použitelné s Git.

Proč používat Git?

Už jste někdy aktualizovali program, webovou stránku nebo dokument jen proto, abyste si přáli mít po ruce předchozí verzi? Možná vaše změny narušily program nebo web, možná jste vystřihli a vložili nějaké informace z lahvičky. Ať tak či onak, časová osa změn by vám ušetřila čas a námahu, k čemuž byl přesně vytvořen protokol Git.

Git lze navíc nastavit tak, aby při ukládání (“potvrzení”) souboru nebo změně v systému vytvářel automatické zálohy libovolného souboru. Je to také rychlý a lehký systém:protokol Git ukládá pouze změny, které jste provedli v každém souboru, nikoli každý soubor samostatně.

A konečně, Git je průmyslovým standardem při práci s kódem. Umožňuje více uživatelům přistupovat ke stejným souborům a upravovat je bez konfliktů, přenést místní kopii („klon“) projektu do počítače uživatele, vytvořit novou kopii pro testovací účely, která neovlivní původní („větev“ ), nebo vytvořit zcela novou verzi (“fork”) vašeho programu nebo programu někoho jiného pro úpravy jediným kliknutím nebo příkazem. Můžete dokonce vrátit změny ve větvi zpět do originálu („sloučit“).

Instalace klienta Git

Dobře, abyste mohli začít s Git, budete muset nainstalovat nějaký software. Existuje mnoho klientů, ale my se zaměříme na jednoho pro každý hlavní operační systém.

Instalace systému Windows:

Přejděte na http://msysgit.github.io/ a kliknutím na „Stáhnout“ program nainstalujte.

Stránka pro stažení klienta Windows Git

Instalace Mac OSX:

SourceForge je hostitelem instalačního programu Max OSX. Kliknutím na verzi, která odpovídá vaší verzi OSX, stáhněte a nainstalujte program.

Stránka pro stažení klienta Mac OSX Git

Instalace Linuxu:

Pro Debian/Ubuntu:

sudo apt-get install git

Pro CentOS/RedHat/Fedora:

sudo yum install git

Pro ostatní distribuce Linuxu nebo Unixu zkontrolujte možnosti instalace balíčku zde.

Porozumění systému Git

Než se pustíme do příkazů, měli bychom si projít některé z hlavních funkcí a terminologie používané v Gitu.

Úložiště :Hlavní databáze, kde jsou uloženy všechny vaše soubory pro daný projekt.
Index (Staging Area):Dočasný úložný prostor pro změny souborů, které odevzdáte do úložiště.
HEAD :Ukazuje na aktuální větev, kde budou provedeny změny.

Poznámka:HEAD je příkaz a ukazatel v systému git. Používá se k vymezení „hlavy“, značky, která systému označuje aktuální větev, kterou byste chtěli upravit.

Bloba :název souboru v Gitu.
Tag :Poznámka identifikující číslo verze dokumentu nebo části kódu.
Zpráva :Popis změn provedených s potvrzením (aktualizace souborů nebo značky)
Historie :Záznam všech potvrzení provedených do pobočky nebo úložiště.

Použití Git

Otevřete program Git bash, který jste nainstalovali výše:

Git bash ve Windows

Pokud byste chtěli k uložení úložiště použít něco jiného než výchozí složku, vytvořte novou složku a poté přejděte v klientovi Git do správné složky.

Příklad navigace do složky:

(Windows)

cd C:/Users/username/foldername/

(Linux/Mac)

cd /Users/username/foldername

Kde username je vaše uživatelské jméno v počítači a foldername je název složky, kterou jste vytvořili.

Vytvoření úložiště Git

Jedním ze způsobů, jak začít, je vytvořit nové úložiště.

Chcete-li vytvořit nové úložiště, zadejte příkaz:

git init

Klonování úložiště Git

Dalším způsobem, jak začít, je klonování jiného existujícího úložiště. Chcete-li naklonovat existující úložiště z GitHubu (oblíbený web pro ukládání a sdílení projektů pomocí Git, o kterém se pojednává dále níže), zadejte příkaz:

git clone git://github.com/repositoryname

Chcete-li naklonovat jiné online úložiště (ke kterému máte přístup), zadejte příkaz:

git clone [email protected]:/path/to/repository.git

Potvrzení repozitářů Git

Jakmile provedete změny a budete je chtít přidat do svého úložiště, následuje krátký proces:

  1. Umístěte soubory k odevzdání do indexu (pracovní oblast)
  2. Zavázat se k místnímu úložišti
  3. Přeneste změny do vzdáleného úložiště (pokud pracujete se vzdáleným úložištěm).

Index

Soubory, které budete odevzdávat každé kolo, musíte před aktualizací umístit do indexu (nebo pracovní oblasti). Váš klient Git aktualizuje pouze ty soubory, které tam byly umístěny. Chcete-li umístit soubor do rejstříku, zadejte příkaz:

git add filename

Poznámka:Chcete-li přidat všechny aktuální soubory v adresáři, můžete místo názvu souboru použít tečku (.).

git add .

Zavázat se

Chcete-li odevzdat přidané soubory do místního úložiště, zadejte příkaz:

git commit -m "message"

Kde message je popis změn vašeho potvrzení. Nezapomeňte uvést uvozovky.

Tip:

Když už jsme tady, pojďme se dotknout závazků a zpráv. Výše jsme viděli příklad přidání všech souborů do odevzdání. Nejlepším postupem při používání Git je však pokaždé odevzdat pouze sadu souvisejících změn. Závazky by měly být malé, diskrétní kousky, které lze vysvětlit krátkou zprávou. To je to, co dělá správu verzí (důvod existence Gitu) užitečnou. Malé změny lze vrátit zpět, pokud způsobují problémy nebo se později zjistí, že jsou zbytečné nebo jsou v rozporu s jinými změnami. Provádění velkých bloků nesouvisejících změn ztěžuje identifikaci toho, co je příčinou problému nebo chyby, pokud by k nějaké došlo. Dobré pravidlo:pokud popis vašeho odevzdání zabere více než jednu nebo dvě věty, musíte spáchat menší kousky.

Zatlačte

Nyní, když byly vaše změny potvrzeny, můžete je odeslat do vzdáleného úložiště (pokud používáte vzdálené úložiště):

git push origin master

Přenos do vzdáleného úložiště umožňuje ostatním uživatelům přistupovat a upravovat změny, které jste provedli.

Vytváření, používání a slučování větví Git

Větve jsme krátce probrali, ale pojďme si je zopakovat.

Větev je samostatný myšlenkový směr pro váš obsah nebo program. Pokud byste například chtěli uvažovat o nové paletě barev pro web, můžete vytvořit jednu nebo více větví webu a otestovat různé koncepty barevných palet, aniž byste ovlivnili hlavní stránku. Pokud jste se rozhodli pro nové oranžové téma, mohli byste pak sloučit „oranžovou“ větev zpět do Master a nahradit starou paletu. Podívejme se, jak to funguje.

Chcete-li vytvořit novou větev, která bude obsahovat vaši oranžovou paletu barev, zadejte:

git checkout -b orange

checkout je příkaz Git, který přepíná mezi větvemi. -b volba vytvoří novou větev s názvem, který za ní bude následovat – v tomto případě „oranžová“.

Poznámka:Před vytvořením nové větve se ujistěte, že jste si uložili veškerou práci, kterou jste udělali v editoru, abyste o ni nepřišli.

Pokud se chcete vrátit zpět k práci na větvi Master, zadejte:

git checkout master

Poznámka:Git vyžaduje, abyste potvrdili všechny změny, než vám umožní přepínat větve.

V tomto příkladu budeme pracovat s touto novou paletou barev, takže zůstaneme u nové větve.

Větev potvrdíte stejným příkazem jako hlavní větev.

git commit -a -m "branch demonstrating an orange palette"

-a flag automaticky přidá všechny sledované soubory – tedy všechny soubory, které byly zahrnuty do posledního odevzdání, které byly upraveny.

Pokud chcete svou oranžovou větev přesunout do vzdáleného úložiště, použijte:

git push origin orange

Pokud jste s testováním spokojeni a chtěli byste změny zahrnout do své primární verze (vaší hlavní větve), budete se chtít sloučit.

Nejprve zaplaťte ve své pobočce Master.

git checkout master

Poté pomocí příkazu merge aktualizujte Master informacemi o vaší „oranžové“ větvi.

git merge orange

Po sloučení větev stále existuje, ale již není potřeba. Odstraňte „oranžovou“ větev pomocí -d možnost:

git branch -d orange

Konflikty při slučování

Pokud máte dvě nebo více větví, které mají úpravy stejného souboru, může dojít ke konfliktu při jejich postupném slučování. Příklad konfliktu mezi „testovací“ větví vašeho webu a vaší „oranžovou“ větví, kterou jste nedávno sloučili do Master, může vypadat takto:

$ git merge orange
<<<<<<< HEAD:index.html
<div id="footer">contact : [email protected]</div>
=======
<div id="footer"> contact us at [email protected]</div>
>>>>>>> test-layout:index.html

Budete zodpovědní za změnu dvou souborů tak, aby se shodovaly v oblastech konfliktu, a poté spustíte příkaz k dokončení sloučení:

git add index.html

Vždy můžete porovnat větve před sloučením pomocí diff příkaz.

git diff <one-branch> <another-branch>

Vytahování a načítání pomocí Git

Prošli jsme si, jak přenést změny do vzdáleného úložiště, ale co když spolupracujete s ostatními a potřebujete mít přístup ke změnám, které provedli? To je místo, kde se pull přichází příkaz.

Pulling načte všechny změny provedené ve vzdáleném úložišti od posledního klonování nebo stažení a zkopíruje změny do vašeho místního úložiště.

git pull

Pokud chcete vzdálené aktualizace bez automatické změny místní kopie, aby změny odrážely, použijte fetch :

git fetch

Poté máte možnost zkontrolovat změny a sloučit aktualizace do svého Master.

Forking a GitHub

Při používání a učení Git se setkáte s pojmem „fork“ nebo „forking“. Forking je pouze klonování úložiště někoho jiného do vašeho vlastního prostoru, kde jej můžete upravit a vytvořit si vlastní verzi, aniž byste narušili jejich verzi, čímž vytvoříte nezávislou verzi neboli „fork“.

Setkáte se také s názvem GitHub. S GitHub je rozvětvení snadné a lze jej provést kliknutím na tlačítko:

Tlačítko rozvětvení na GitHubu

GitHub, který je primárně účtován jako nástroj pro spolupráci, je služba, pomocí které můžete zálohovat a sdílet svá úložiště nebo přispívat a forkovat projekty jiných lidí. Existují další služby podobné GitHubu, ale GitHub zůstává jednou z nejoblíbenějších možností.

Chcete-li si stáhnout klienta nebo se dozvědět více, přejděte na Github.

Další zdroje

Existuje mnoho zdrojů, ze kterých se můžete naučit pokročilé možnosti v Gitu. Jedním z nejdůkladnějších zdrojů je kniha Pro Git, dostupná online.

A vždy je k dispozici oficiální dokumentace Git.

GitHub také nabízí seznam videí s videolekcemi.

Atlantic.Net

Atlantic.net nabízí hosting VPS a také spravované hostingové služby, které zahrnují vrstvu základních spravovaných služeb pro vaše hostingové balíčky. Kontaktujte nás ještě dnes pro více informací.


Linux
  1. Jak převést PPK na soubor PEM pomocí příkazu

  2. Jak rozdělit iso nebo soubor pomocí příkazu „split“ v Linuxu

  3. Jak sloučit dva soubory pomocí AWK?

  1. Jak grep \nv souboru

  2. Jak omezit velikost souboru při odevzdání?

  3. Jak podložit soubor pomocí FF pomocí dd?

  1. Automatické dokončování Git?

  2. Jak otevřít - přerušovaný název souboru pomocí terminálu?

  3. Jak otevřít soubor ve vim pomocí pipe