GNU/Linux >> Znalost Linux >  >> Linux

Naučte se příkazy Git s praktickými příklady na Linuxu – část 1

Git je distribuovaný systém správy verzí. Používají jej především vývojáři softwaru pro správu zdrojového kódu. Git je bezplatný software s otevřeným zdrojovým kódem a mnoho velkých organizací jej používá ke správě své obrovské kódové základny.

V tomto tutoriálu se seznámíme s Git. Toto bude praktický průvodce. Tento výukový program předpokládá, že je ve vašem systému nainstalován Git.

Počáteční konfigurace uživatele Git

Nejprve musíme nakonfigurovat nastavení pro uživatele Git. Tato nastavení můžeme provést pro všechna úložiště na aktuálním systému nebo pro konkrétní úložiště. Pojďme to pochopit na příkladu:

Identita uživatele

V Gitu můžeme specifikovat identitu uživatele zadáním jeho jména a e-mailové adresy. Tyto informace budou použity při každé operaci potvrzení. Proveďte níže uvedený příkaz v terminálu pro přiřazení identity:

$ git config --global user.name "Linuxtechi User"$ git config --global user.email "[email protected]"

Editor

Toto nastavení konfiguruje editor, který bude použit při poskytování zprávy odevzdání:

$ git config --global core.editor vim

Komprese

Toto nastavení konfiguruje úroveň komprese, která se má použít. Platný rozsah pro kompresi je -1 až 9. Hodnota -1 označuje kompresi zlib a je výchozí úrovní komprese. Hodnota 0 znamená žádnou kompresi a 1 až 9 jsou různé kompromisy mezi rychlostí a velikostí, přičemž 9 je nejpomalejší.

$ git config --global core.compression 2

Nástroj rozdílů

Toto nastavení konfiguruje nástroj pro prohlížení rozdílů. Například níže uvedený příkaz konfiguruje vimdiff jako nástroj pro porovnání:

$ git config --global diff.tool vimdiff

Ve výše uvedených příkazech jsme použili –global možnost všude, díky čemuž bude tato konfigurace globální. To znamená, že stejná konfigurace bude aplikována na všechna úložiště na aktuálním systému. Aby bylo úložiště konfigurace specifické, stačí odebrat možnost –global.

Konfigurace seznamu

Chcete-li zobrazit konfiguraci Git, spusťte níže uvedený příkaz v terminálu:

$ git config -l

Tento příkaz vygeneruje následující výstup:

core.repositoryformatversion=0core.filemode=truecore.bare=falsecore.logallrefupdates=truecore.editor=vimcore.compression=2user.name=Linuxtechi User[email protected]diff.tool=vimdiff

Úložiště Git

Úložiště je místo, kde je uložen zdrojový kód. Můžeme buď vytvořit nové úložiště, nebo použít stávající úložiště. Chcete-li vytvořit nové prázdné úložiště, spusťte níže uvedený příkaz:

$ mkdir my-repo.git$ cd my-repo.git$ git init --bareInicializované prázdné úložiště Git v my-repo.git

Tato metoda bude užitečná, když začínáte s novým projektem. Další metodou je použití stávajícího úložiště. Takové úložiště je hostováno na vzdáleném serveru, jako je GitHub. Ke stažení vzdáleného úložiště použijte příkaz clone takto:

Klon $ git https://github.com/linuxtechiuser/my-repo.git

Ve výše uvedeném příkazu je posledním argumentem cesta ke vzdálenému úložišti.

Pracovní postup Git

V této části probereme pracovní postup git.

Zaveďte nové změny

Prvním krokem je zavedení nových změn. Může to být přidání nového souboru nebo aktualizace existujících souborů. Pojďme vytvořit nový soubor a upravit stávající soubor

$ touch AUTOŘI                                   # Vytvořit nový soubor$ echo "Nový obsah">> README     # Aktualizovat stávající soubor

Zkontrolujte stav úložiště

Git je systém sledování obsahu, identifikuje dvě výše uvedené změny. Pojďme zkontrolovat stav úložiště:

$ git status -s M README?? AUTOŘI

Ve výše uvedeném výstupu se před README objeví písmeno M, což znamená, že existující soubor je změněn. Zatímco ?? se objeví před AUTHORS, což znamená, že se jedná o nový soubor a Git o tom neví, proto se takový soubor nazývá nesledovaný soubor.

Přidat soubor do changesetu

Dejte pokyn Gitu, aby tento nový soubor sledoval. Toho můžeme dosáhnout pomocí příkazu add. Tato operace zahájí sledování změn provedených v tomto souboru.

$ git přidat AUTOŘI

Pojďme nyní zkontrolovat stav úložiště:

$ git status -sA  AUTHORSM README

Výše uvedený výstup ukazuje A před AUTHORS, což znamená, že tento soubor je nově přidán pod Git. Pomocí tohoto příkazu můžeme přidat libovolný počet souborů.

Odebrat soubor ze sady změn

Dejte pokyn Gitu, aby zrušil sledování tohoto nově přidaného souboru. Toho můžeme dosáhnout pomocí příkazu reset. Tato operace odstraní soubor ze sady změn

$ git reset AUTHORS$ git status -s M README?? AUTOŘI

Výše uvedený výstup ukazuje, že soubor AUTHORS Git nesleduje.

Potvrdit změny

V Gitu budou soubory, které jsou součástí changesetu, tvořit potvrzení. Každé potvrzení získá jedinečné ID. Nejprve vytvoříme changeset

$ git add AUTHORS$ git add README

Nyní zapíšeme změny do místního úložiště pomocí zprávy odevzdání. V níže uvedeném příkazu argument -m označuje zprávu o potvrzení.

$ git commit -m "Aktualizováno README a přidáni AUTOŘI"

Když provedete výše uvedený příkaz, vygeneruje následující výstup:

[master 0b124eb] Aktualizováno README a přidáno AUTOŘI 2 soubory změněny, 1 režim vložení(+) vytvoření 100644 AUTHORS

Zkontrolujte změny

V této části probereme příkazy, které nám umožní kontrolovat změny úložiště.

Zobrazit protokol odevzdání

Úložiště může obsahovat více odevzdání od více autorů. Můžeme použít příkaz log k zobrazení všech dostupných odevzdání:

$ git log

Když provedete výše uvedený příkaz, vygeneruje následující výstup:

commit 0b124eb6d0109d837f6f9396c9937406abd3f456 (HEAD -> master)Autor:Linuxtechi User <[email protected]>Datum:   Pá 27. července 21:06:55 21:06:55 2018 Aktualizace 2018 +0 

Toto je závazek, který jsme vytvořili dříve. Ve výše uvedeném příkazu:

  • Hexadecimální ID představuje ID potvrzení
  • Sekce autor v potvrzení zobrazuje podrobnosti o tom, kdo tyto změny provedl
  • Část Datum zobrazuje datum a časové razítko potvrzení

Zobrazit krátký protokol odevzdání

Výše uvedený příkaz zobrazí podrobné informace o každém odevzdání. Chcete-li zobrazit krátký popis každého potvrzení, použijte volbu –oneline následovně:

$ git log --oneline

Když provedete výše uvedený příkaz, vygeneruje následující výstup:

0b124eb (HEAD -> master) Aktualizováno README a přidáni AUTOŘI

Zobrazit potvrzení

ID potvrzení je spojeno s každou sadou změn. Toto ID můžeme použít s příkazem show k zobrazení obsahu odevzdání.

$ git show 0b124eb6d0109d837f6f9396c9937406abd3f456

Když provedete výše uvedený příkaz, vygeneruje následující výstup:

commit 0b124eb6d0109d837f6f9396c9937406abd3f456 (HEAD -> master)Autor:Uživatel Linuxtechi <[email protected]>Datum:   Pá 27. července 21:06:55 přidán soubor bAUTHOR 5git a 3018 AUTHORMEAD +5git 2018 100644index 0000000..e69de29diff --git a/README b/READMEindex 980a0d5..5680123 100644--- a/README+++ b/README@@ -1 +1,2 @@ Hello World!+Nový obsah 

Zobrazit rozdíl

Příkaz Diff nám umožňuje zkontrolovat změny před vytvořením changesetu. Příkaz Diff ukazuje rozdíly mezi úložištěm a místním pracovním prostorem. Dovolte nám upravit soubor README a zobrazit rozdíly

$ echo "Genering diff">> README$ git diffdiff --git a/README b/READMEindex 5680123..3158230 100644--- a/README+++ b/README@@ -1,2 +1,3 @@ Ahoj světe! Nový obsah + generování rozdílu

Ve výše uvedeném příkazu:

  • Znak + označuje změny, které jsou přidány do souboru
  • – znak označuje změny, které jsou odstraněny ze souboru

Práce se vzdálenými repozitáři

Doposud jsme pracovali pouze s lokálním úložištěm. Ostatní vývojáři nemohou použít námi provedené změny, protože jsou místní. Spolupráce s kódem tedy není možná. Tato část popisuje příkazy, které nám umožní interakci se vzdálenými repozitáři

Publikovat změny ve vzdáleném úložišti

Můžeme publikovat místní změny do vzdáleného úložiště, aby je mohli používat ostatní vývojáři. Před publikováním změn musíme vytvořit changeset a lokální potvrzení. Změny můžeme publikovat pomocí příkazu push takto:

$ git push

Tento příkaz zkopíruje změny z místního pracovního prostoru do vzdáleného úložiště. V Gitu se tato operace nazývá operace push.

Synchronizace pracovního prostoru se vzdáleným úložištěm

Mnoho vývojářů může publikovat změny svého pracovního prostoru do vzdáleného úložiště. Git nám umožňuje stáhnout tyto změny a synchronizovat pracovní prostor s úložištěm. Toho můžeme dosáhnout pomocí příkazu pull:

$ git pull

V Gitu se tato operace nazývá operace vytažení.

Různé příkazy Git

Tato část pojednává o různých příkazech Git, které budou užitečné při provádění každodenních úkolů:

Upravit nejnovější potvrzení

Git nám umožňuje upravit nejnovější odevzdání. Tuto metodu můžeme použít, abychom se vyhnuli vytváření nového potvrzení. Většinou se používá k úpravě předchozí zprávy odevzdání. Chcete-li upravit poslední potvrzení, použijte –amend možnost takto:

$ echo "Ještě další nová změna">> README$ git add README$ git commit --amend -m "Toto je doplněné potvrzení

Nyní zkontrolujeme protokol odevzdání:

$ git logcommit 8bf67aec1d1de87f03ab6aae93940b17826fde1c (HEAD -> master)Autor:Linuxtechi User <[email protected]>Datum:   Pá 27. července 21:54:55 2050  

Pokud budete pozorně sledovat výše uvedený výstup, můžeme vidět novou zprávu odevzdání, její ID a nové časové razítko.

Odstraňte nesledované soubory

Nesledované soubory jsou soubory, které Git nezná. Všechny nesledované soubory můžeme odstranit pomocí příkazu clean.

Pojďme vytvořit několik nesledovaných souborů:

$ touch delete-me-1 delete-me-2 delete-me-3

Chcete-li odstranit všechny výše uvedené nesledované soubory, použijte příkaz clean s -f možnost takto:

$ git clean -fRemoving delete-me-1Removing delete-me-2Removing delete-me-3

Upozorňujeme, že tento příkaz trvale odstraní soubory, proto jej používejte opatrně.

Zobrazit commity konkrétního autora

Pokud použijeme příkaz log, zobrazí se commity všech autorů. Chcete-li zobrazit odevzdání konkrétního autora, použijte příznak –author takto:

$ git log --author=Linuxtechi

Když provedete výše uvedený příkaz, zobrazí se seznam všech revizí autorů Linuxtechi takto:

commit 8bf67aec1d1de87f03ab6aae93940b17826fde1c (HEAD -> master)Autor:Linuxtechi User <[email protected]>Datum:   Pá 27. července 21:54:55 2018 před 05. 

Zobrazení historie každého souboru řádek po řádku

Pro zobrazení historie řádek po řádku můžeme použít příkaz obvinění.

$ git obviňuje README

Když provedete výše uvedený příkaz, vygeneruje následující výstup:

76294131 (Uživatel Linuxu         2018-07-27 21:12:11 -0700 1) Hello World!8bf67aec (Uživatel Linuxu           2018-07-27 27.07.2018 Nové změny 21.07.54:5 -27 21:54:55 +0530 3) Ještě další změny

Ve výše uvedeném příkazu:

  • První sloupec uvádí ID odevzdání
  • Druhý sloupec označuje autora
  • Třetí sloupec označuje časová razítka
  • Poslední sloupec označuje číslo řádku a obsah souboru

Zobrazit rozdíl od pracovní oblasti

Když vytvoříte changeset pomocí příkazu add, pak se soubor logicky přesune do pracovní oblasti. Podívejme se na tento příklad:

$ echo "Pojďme ukázat pracovní oblast">> README$ git add README$ git diff

Výše uvedený příkaz neukáže žádný rozdíl, protože se soubor přesune do pracovní oblasti. K zobrazení rozdílů použijeme operaci –staged:

$ git diff --stageddiff --git a/README b/READMEindex 74729a2..8bc5ffd 100644--- a/README+++ b/README@@ -1,3 +1,4 @@ Ahoj světe! Nové změny Ještě další změny+Pojďme ukázat pracovní oblast

Závěr

V tomto tutoriálu jsme probrali základní operace Git na jednoduchých příkladech. Tento tutoriál je dobrým výchozím bodem pro nováčky Git.

Přečtěte si více: Naučte se Git Command s praktickými příklady v Linuxu – část 2


Linux
  1. Jak používat Linux Hexdump Command s praktickými příklady

  2. Mých 8 oblíbených praktických linuxových příkazů

  3. JQ Command v Linuxu s příklady

  1. Příkazy hlavy a ocasu v Linuxu vysvětleny s příklady

  2. 10+ Linux VI příkazy s příklady

  3. Linuxový příkaz rsync s praktickými příklady

  1. wc Linux Command s příklady

  2. 19 Běžné příkazy SSH v Linuxu s příklady

  3. Cheat Sheet pro příkazy Linuxu:S příklady