Git. Rychlý start na použití základních operací s vysvětlením

Popisuje praktickou část problematiky použití git - jeho instalace a registrace na serveru Github.com.

Github.com je služba, která nabízí ukládání kódů a dat pomocí systému řízení verzí. Git.. GitHub poskytuje volný tarif plán pro ukládání dat 300 MB v otevřeném formuláři. To znamená, že každý uživatel internetu si můžete stáhnout vaše data. Na GitHub může být umístěn a uzavřen na jiné úložiště, platí 7 dolarů za měsíc. Ve výchozím účtu Zdarma GitHub, ve výchozím nastavení nikdo nemůže změnit data (lze číst pouze). Ale můžete trvat na tom, kdo uživatelům systému GitHub má právo zaznamenat.

Článek podrobně popisuje, jak provést nastavení GIT v systému Windows a v systému Linuxu.

Instalace git pod linuxem

Uživatelé Linuxu, myslím, že to nedává smysl vysvětlit, jak nainstalovat git - to se provádí různými způsoby. V systému Debian (který stojí za mnou), můžete nainstalovat git, můžete použít příkaz:

aPT-GET Install Git

Instalace git pod Windows

Jdeme na oficiální git stránku http://git-scm.com, klikněte na Stáhnout pro Windows.. V okně, které se otevře, klepněte na tlačítko Plný instalační program pro oficiální git. Spustit EXE-ShNIK přijat.

V procesu instalace bude tato otázka položena:

Doporučuji výběr "Spustit git z příkazového řádku systému Windows". Všechny ostatní možnosti mohou být ve výchozím nastavení ponechány. Po instalaci git musíte restartovat nebo dokončit relaci uživatele a přihlásit se, abyste použili změny v proměnné systému cesty.

Pokud získáte informace o verzi, pak je nainstalován a spuštěn Git. Pokud dostaneme informace, že program GIT není nalezen, chápeme, co dělali špatně.

Nastavení klíčů SSH.

Před registrací s GitHub byste měli nejprve generovat šifrování klíčů SSH. Tento klíč je nutný k rychlému instalaci spojení s githubem, aniž by zadání hesla. Bez takového klíče GitHub nebude snadné fungovat.

Pozornost!

V době generování klíčů bude heslo požadováno. Tento přístup heslem do uzavřeného klíče, který je uložen pouze na vozidle a kdekoli jinde. Toto heslo je nastaveno pro maximální cenné papíry, i když můžete udělat bez něj. Musíte vědět, že nastavením hesla na soukromý klíč budete muset zadat toto heslo s každým serverem GitHub. Při určování hesla tak zmizí všechny pohodlí použití šifrovacích klíčů.

Uživatelé MyTETRA: Rozhraní práce s příkazovým řádkem, který slouží k volání git během synchronizace, nemůže pracovat na zadávání znaků. Proto, pokud zadáte heslo, synchronizace nebude fungovat.

Nastavení kláves SSH v Linuxu

V operačním systému Linux se nejprve musela podívat do adresáře ~ / .ssh. Pokud existují ID_rsa soubory a id_rsa.pub, pak se jedná o klíče SSH. Pokud neexistuje žádný takový adresář nebo takové soubory, pak by měly být vytvořeny klíče. Nechte tým:

Namísto [Chráněný emailem] Musíte zadat svůj e-mail. V procesu generování klíčů se budete ptát, kde chcete umístit soubory, jednoduše stiskněte klávesu Enter. Při požadavku na heslo jednoduše stiskněte klávesu Enter. Po generaci by se soubory ID_RSA a ID_RSA.PUB objeví v adresáři ~ / .ssh, budou pro nás vhodné později.

Konfigurace kláves SSH v systému Windows

V operačním systému Windows je generátor klíče SSH zahrnut do balíčku GIT. Chcete-li generovat klíče, musíte spustit soubor spustit C: Programové soubory Git Bash.vbs. Lze jej spustit jako obyčejný Exe-Shnik. Otevře se program Git Console. Musí mít tým:

sSH-Keygen -t RSA -C " [Chráněný emailem]"

Buďte opatrní, v této konzole, v cop-minulosti si všimne, jednoduše zadejte příkaz ručně. Jako e-mail zadejte svou poštovní schránku. Na znamení " Zadejte soubor, ve kterém chcete klávesu uložit"Stačí stisknout klávesu Enter. Při vyžádání hesla" Zadejte heslo "a" Zadejte stejnou passphrase znovu "Jednoduše stiskněte klávesu Enter. V procesu generování klíčů v konzole, bude vydáno přibližně následující informace:

Generování páru veřejného / soukromého klíče RSA.
Zadejte soubor, do kterého chcete uložit klíč (/ c / dokumenty a nastavení / uživatelské jméno / uživatelské jméno / .SSH / ID_rsa)
Zadejte heslo (prázdné pro žádnou passphrase):
Zadejte stejnou passphrase znovu:
Vaše identifikace byla uložena v / c / dokumenty a nastavení / uživatelské jméno / .SSH / ID_rsa.
Váš veřejný klíč byl uložen v / c / dokumenty a nastavení / uživatelské jméno / .ssh / id_rsa.pub.
Klíčový otisk prstu je:
51: DB: 73: E9: 31: 9f: 51: A6: 7A: C5: 3D: DA: 9C: 35: 8F: 95 [Chráněný emailem]

Po provedení tohoto programu v katalogu C: Dokumenty a nastavení Uživatelské jméno .ssh Id_rsa a ID_rsa.pub soubory budou umístěny, budou pro nás užitečné později.

Registrace na github.com.

Nyní je vše připraveno k registraci. Přejděte na stránku uživatele github.com. Rozhraní je trochu zmatené, takže dám pár snímků, kde je to stisknuto. Design a rozložení lze kdykoliv změnit, takže popisuji logiku v tuto chvíli.

V horní menu najdete položku " Ceny a registrace."A klikněte na něj:

Otevře se stránka výběru tarifu. Vyberte si bezplatný účet Vytvořit bezplatný účet":

Instalace kláves SSH v GitHub

Ihned po registraci je nutné zaregistrovat klíč pro šifrování veřejného klíče v systému GutHub (Open SSH klíč). Chcete-li přidat klíč, musíte kliknout v pravém horním rohu. " Nastavení účtu":

V okně, které se otevře, musíte kliknout na položku nabídky " SSH veřejné klíče."a klikněte" Přidat další veřejný klíč". Objeví se dvě pole - název klíče ( Titul) a obsah klíčů ( Klíč).

V terénu Titul Můžete napsat název počítače, na kterém je generován veřejný klíč. Můžete psát v ruštině.

V terénu Klíč Musíte vložit obsah souboru ID_rsa.pub. Nezapomeňte, ve kterém katalogu jsou? Přejděte do tohoto adresáře, otevřete libovolný textový editor ID_rsa.pub (to je s rozšířením .pub, nezaměňujte). Zvýrazňujeme veškerý text, kopírování a vložení na stránku GitHub v poli Klíč.

Po přidání klávesy se počítač se může připojit k githubu prostřednictvím programu GIT a žádné chyby by neměly dojít.

Vytvoření úložiště na GitHub

Nyní je čas vytvořit první úložiště na GitHub. Úložiště lze zobrazit jednoduše jako adresář, ve kterém budou synchronizované soubory a podadresáře lhát. Musíte vytvořit úložiště webového rozhraní GitHub a můžete jej již vyplnit soubory a pracovat s ním pomocí programu GIT v počítači.

Chcete-li vytvořit úložiště, musíte kliknout v pravém horním rohu " Přístrojová deska.". V okně, které se otevře, uvidíte položku" Vytvořit úložiště.":

Takže tuto položku nepotřebujeme! Tato položka se otevře dialogové okno tvorby úložiště a stránku nápovědy. Místo kliknutí na tuto položku hledáme níže na stránce pro nepravděpodobný odkaz " Vytvořit úložiště.". Ona bude také otevřít dialog přidat nové úložiště.

V přidání nového dialogu úložiště musíte vyplnit alespoň pole projektu " Název projektu.". Ve jménu projektu je lepší nepoužívat cyrilici, protože název projektu je název adresáře. Aby se zabránilo problémům, název projektu obsahuje pouze latinu. Po stisknutí tlačítka" Vytvořit úložiště."Bude vytvořeno úložiště."

Provozní odkaz na úložiště v systému GitHub je vytvořen tak. Pokud jste zaregistrovali pod názvem Uživatelské jméno a vaše úložiště se nazývá reponame, pak můžete použít následující odkazy pro přístup k tomuto úložišti:

V GIT Syntaxe:

[Chráněný emailem]: Uživatelské jméno / reponame.git

V syntaxi HTTPS:

https: // [Chráněný emailem]/Username/reponame.git.

Práce s úložištěm na GitHub přes program GIT

Od nynějška mohou být tance kolem webového rozhraní GitHub považovány za kompletní. Dále můžete pracovat pouze pomocí programu GIT.

Zpočátku musíte udělat malé nastavení programu GIT: Určete místní systém GIT uživatele a e-mailu. To se provádí následujícími příkazy, které lze provádět v libovolném adresáři:

git config --global user.name "yourfullname"
Git config --global user.Email [Chráněný emailem]

kde namísto yourfullname musíte napsat své jméno a místo toho [Chráněný emailem] - tvůj e-mail. Tyto hodnoty se používají pro přihlášení na GitHub. Proto musíte zadat přihlašovací údaje na GitHub - na místě [Chráněný emailem] Musíte zadat e-mail, který jste zadali při generování šifrovacích klíčů.

Po těchto nastavení můžete vložit soubory do úložiště. Jděte do katalogu s vaším projektem a dejte týmům:

git Commited -a -m -m "První potvrzení"

git vzdálený přidat původ [Chráněný emailem]: Uživatelské jméno / reponame.git

git push -u origin mistr

Po těchto příkazech je na serveru GitHub vytvořena kopie souborů adresáře, ve kterém byla provedena příkazová data. Dále můžete zavést, vyplnit změny serveru GitHub, přečtěte si změny ze serveru. Ale to je zcela jiný příběh.

Pro lidi, přirozeně odolávají změnou. Pokud vás Git nesetkal, když jste začali pracovat s verzí řídicích systémů, budete pravděpodobně cítit pohodlnější v systému Subversion (SVN).

Často lidé říkají, že git je příliš komplikovaný pro začátečníky. Nicméně, dám si s ním nesouhlasit.

V této lekci vám řeknu, jak používat git ve svých projektech. Předpokládejme, že vytvoříte projekt od nuly a chcete jej řídit pomocí git. Pocházel po seznamu hlavních příkazů, dostanete představu o tom, jak zadat kód do Cloud GitHub.

V tomto článku budeme hovořit o základech git - jak inicializovat své projekty, jak spravovat nové a existující soubory a jak uložit kód v cloudu.

Nebudeme se dotýkat relativně složitých částí GIT, jako je rozvětvení, protože tato lekce je určena pro začátečníky.

Instalace git.

Na oficiálních stránkách je git detailní informacena jeho instalaci na Linux, Mac a Windows. V našem případě budeme používat k prokázání Ubuntu 13.04 pro instalaci Git pomocí APT-GET:

sudo apt-get install git

Počáteční nastavení

Vytvořme si adresář, ve kterém budeme pracovat. Případně můžete použít git pro správu jednoho ze stávajících projektů; V tomto případě nebudete muset vytvořit demo adresář podle obrázku níže:

mkdir my_git_project cd my_git_project

Prvním krokem je inicializace git v adresáři. To lze provést pomocí příkazu init, který vytvoří adresář .git obsahující všechny informace spojené s git pro váš projekt.

git Config --Global User.name "Shaumik" Git Config --Global User.Email " [Chráněný emailem]"Git config --global color.ui" auto "

Je důležité poznamenat, že pokud nezadáte svůj název a e-mailovou adresu, budou použity výchozí hodnoty. V našem případě by výchozí hodnoty byly donny uživatelské jméno a e-mailová adresa [Chráněný emailem].

Kromě toho nastavíme automatickou hodnotu pro barvu uživatelského rozhraní, takže výstup příkazu GIT bude mít barevný podsvícení.

Prefix -Global je potřeba, aby nedošlo k zadání těchto nastavení při příštím spuštění projektu GIT v našem systému.

Příprava souborů pro potvrzení

Dalším krokem je vytvářet soubory v adresáři. Můžete použít například textový editor VIM. Všimněte si, že pokud chcete přidat git do existujícího adresáře, nemusíte tento krok provést:

Zkontrolujte stav úložiště

Nyní, když máme několik souborů v našem úložišti, podívejme se, jak se k nim obrací Git. Chcete-li zkontrolovat aktuální stav úložiště, musíte použít příkaz GIT Status:

Přidání souborů do Git ke sledování

V tuto chvíli nemáme soubory na sledování pomocí GIT. Musíme přidat soubory specificky v Git, abyste určili git, který potřebujete sledovat.

Přidat soubory pomocí příkazu Přidat:

Po zkontrolování stavu úložiště uvidíme, že byl přidán jeden soubor:

Chcete-li přidat více souborů, můžete použít následující položku příkazu (všimněte si, že jsme přidali další soubor pro demonstraci):

git přidat myfile2 myfile3

Můžete použít git přidat rekurzivně, ale buďte opatrní s tímto příkazem. Existují určité soubory (například kompilované soubory), které jsou obvykle uloženy mimo úložiště GIT.

Pokud znovu použijete příkaz Přidat, přidá všechny tyto soubory, pokud existují ve vašem úložišti.

Smazání souborů

Provedení jednoduchého příkazu Git RM bude smazat soubor nejen z Git, ale také z místního systému souborů! Na

Git přestal sledovat soubor, ale samotný soubor je zachován v místním systému, spusťte následující příkaz:

git rm --cached.

Spáchat změny

Poté, co jste zadali soubory, můžete je dodržovat Git. Představte si, že potvrzení je zachycení určitého bodu, ke kterému se můžete vrátit k přístupu na své úložiště v této fázi.

Pro každý výbor se můžete vázat zprávu, která je přidána pomocí předpony -M:

git commit -m "moje první potvrzení"

Podporuje užitečné zprávy, protože vám pomůže určit, co jste změnili v této com.

Vyhněte se příliš běžným zprávám jako " Opravené chyby" Pokud máte tracker úkolu, můžete přidat zprávy ve formě " Opravena chyba # 234».

Dobrá praxe je použít název pobočky nebo název funkce jako předponu zprávy Commit. Například, " Správa aktiv: přidaná funkce pro generování souborů PDF Asset"Je smysluplná zpráva.

Git identifikuje spáchání přidáním dlouhého hexadecimálního čísla každému potvrzení. Zpravidla nemusíte zkopírovat celý řetězec, abyste zjistili dostatečně první 5-6 znaků.

Upozorňujeme, že na snímku obrazovky, naše první potvrzení je určena kódem 8dd76FC.

Dále zavede

Nyní pojďme změnit více souborů po první commit. Po jejich změně uvidíme, že v důsledku provedení příkazu Git Git Git jsem objevil změny v souborech, které sleduje:

Můžete zkontrolovat změny ve skupinách sledování provedených v posledním komentáři pomocí příkazu Git Diff. Pokud chcete zobrazit změny v konkrétním souboru, použijte příkaz git diff :

Tyto soubory musíte znovu přidat, abyste provedli změny ve sledování souborů pro další potvrzení. Můžete přidat všechny monitorované soubory spuštěním příkazu:

Pomocí tohoto příkazu se můžete vyhnout pomocí předpony -a pro příkaz git commit, který přidá všechny změny ve sledování souborů.

Tento proces je však velmi nebezpečný, jak to může poškodit projekt. Řekněme například, že jste soubor otevřel a změnil omylem.

Pokud selektivně umístíte soubory, pak si všimnete změny v každém souboru. Pokud však přidáte předponu -a do své potvrzení, všechny soubory budou zdobeny a nebudete schopni identifikovat možné chyby.

Po odeslání souborů můžete přistoupit k potvrzení. Zmínil jsem se o tom, že zpráva, kterou zavádíme pomocí předpony -m, může být spojena s každým výborem.

Je však možné zadat zprávu v několika řadách pomocí příkazu Git Commit, která otevírá interaktivní formulář pro nahrávání:

Projektový management

Chcete-li zobrazit historii svého projektu, můžete provést následující příkaz:

Takže celá historie projektu bude zobrazena, což je seznam všech zavazadel a informací o nich. Informace o potvrzení zahrnují kód Kesh Commit Code, autor, čas a komutační zprávu. Existují různé možnosti pro Git Log, který můžete prozkoumat, jakmile zváží koncept pobočky (větev) v Git.

Chcete-li zobrazit podrobné informace o konkrétním obchodu a soubory, které byly změněny, spusťte následující příkaz:

git show.

kde Jedná se o hexadecimální číslo spojené s potvrzení. Vzhledem k tomu, že tato lekce je určena pro nováčci, nepovažujeme, jak se vrátit do stavu určitého potvrzení nebo jak ovládat pobočky.

Umístění kódu v oblaku

Nyní, když jste se naučili, jak spravovat kód ve vašem systému, je čas umístit kód v oblaku.

GitHub je velmi známá platforma pro ukládání, distribuci a správu zdrojového kódu otevřených projektů. Tato služba používá mnoho vývojářů po celém světě, mezi nimiž jsou velké společnosti, jako je Microsoft, Redhat a mnoho dalších, také stovky vývojářů mnoha populárních projektů.

Platforma poskytuje příležitosti nejen pro zobrazení kódu a jeho distribuce, ale také historii verzí, společných vývojových nástrojů, nástrojů pro poskytování dokumentace, vydání a zpětné vazby. A nejzajímavější věc, kterou můžete umístit na gibub obě otevřené, tak soukromé projekty. V tomto článku se podíváme na to, jak používat GitHub, abychom vyhověli vašemu projektu. Takže mluvit, GitHub pro začátečníky.

Řekněme, že máte svůj vlastní projekt a chcete umístit kód na GitHub ve veřejném přístupu k ostatním uživatelům, které by to mohli vidět a podílet se na vývoji. První věc, kterou musíte udělat, je vytvořit účet.

1. Vytvoření účtu

Chcete-li vytvořit nový účet na webu otevřete hlavní stránku GitHub a okamžitě můžete okamžitě zadat data pro nový účet. Musíte zadat uživatelské jméno, e-mail a heslo:

Při dokončení položky klepněte na tlačítko "PŘIHLÁŠENÍ ZDARMA":

V dalším kroku musíte vybrat typ úložiště. Veřejné úložiště jsou zdarma, ale pokud chcete vytvořit soukromý úložiště, kód, ze kterého bude k dispozici pouze pro vás, budete muset zaplatit $ 7 za měsíc.

Účet je připraven a budete přesměrováni na stránku, kde můžete vytvořit svůj první projekt. Ale než to dokážete, musíte potvrdit svou e-mailovou adresu. Chcete-li to provést, otevřete poštovní schránku a postupujte podle odkazu v písmenu GitHub.

Není nutné nastavení GitHub, jen několik kliknutí s myší.

2. Vytvoření úložiště

Na stránce, která se otevře, je to hlavní stránka pro autorizované uživatele, klepněte na tlačítko "Začněte projekt":

Úložiště můžete okamžitě inicializovat vytvořením souboru Readme, pro to musíte zmínit klíště "Inicializujte tento úložiště s Readme" v dolní části stránky. Můžete také zvolit licenci:

Když je vše připraveno, vyberte možnost "Vytvořit projekt"Nový projekt bude vytvořen s souboru Readme, který obsahuje popis a licenční soubor.


3. Přidání poboček

Pobočky GitHub vám umožní pracovat s více verzí projektu současně. Ve výchozím nastavení při vytváření úložiště je vytvořena hlavní větev, je to hlavní pracovní větev. Můžete vytvořit další pobočky, například pro testování softwaru před jeho zveřejněním v hlavním větev. Takže můžete současně rozvíjet produkt a poskytnout uživatelům stabilní verzi. Můžete také vytvořit individuální větve pro verzi programu pro různé systémy.

Aktuální pobočka je indikována v levém horním rohu po slově "Větev".Chcete-li vytvořit novou pobočku jednoduše nasadit tento seznam a začněte psát název:

Místo vám navrhne vytvořit novou pobočku, vybrat "Vytvořit větev".

Ihned po vytvoření budete pracovat s právem vytvořenými pobočkou.

4. Změňte soubory a proveďte

Jakékoliv změny souborů GitHub jsou prováděny pomocí provizí. Zavazovat se provádí samotnými opravami a popisem těchto oprav. To je nutné, abyste to věděli, a když jste se změnili, a také usnadňuje sledování práce týmu. Slovo Commite lze přeložit jako "oprava". To znamená, že můžeme provádět změny několika souborů a pak je opravit. Změnit soubor Readme pro příklad. Chcete-li to provést, najděte tlačítko s střapcem na pravé straně panelu a klikněte na něj:

Otevře se textový editor, kde můžete zadat správnost, kterou potřebujete:

Poté, co uděláte vše, co potřebujete, musíte vyplnit pole "SPÁCHAT" v dolní části stránky. Stručně popište, co bylo změněno, a klepněte na tlačítko "Spáchat změny":

Tyto změny budou zadány do aktuální pobočky projektu, protože nyní pracujeme s testováním, pak budou tyto změny zaslány.

5. Vytváření dotazů fúzí (požadavek na tažení)

GitHub pro začátečníky se může zdát velmi obtížné kvůli takovým funkcím, ale je to velmi vhodné, pokud to zjistíte. Požadavek soutoku nebo požadavek tah je příležitost, díky čemuž může každý vývojář požádat o další, například tvůrce úložiště, aby si prohlížil svůj kód a přidal jej do hlavního projektu nebo větve. Pracovní nástroj s požadavky na fúze používá nástroj pro porovnání diff, takže můžete vidět všechny změny, budou zdůrazňovány jinou barvou. Požadavek tah lze vytvořit ihned po vytvoření potvrzení. Pojďme odeslat požadavek na tažení z našich zkušebních větví do hlavní. Nejprve otevřete kartu "Požadavek".

Zde klikněte "Vytvořit požadavek na tah":

V tomto okně můžete zobrazit všechny změny, nyní vidíme řádek:

6. Zobrazit a schvalovat požadavků na fúze

Nyní, na stejné kartě tažných požadavků, jsme právě provedli žádost o fúzi a můžeme ji vzít pouze kliknutím "Sloučit pull požadavek":

Pokud však tento požadavek pocházel z jiné osoby, musíte zkontrolovat, že se tam změnil a zda je nutné k tomu provést, klikněte na popis dotazu a uvidíte známé okno Zobrazit zobrazení:

Kód bude importován do hlavní větve a zkušební větev lze bezpečně odstranit.

7. Zprávy o chybách

Je také vhodný, že je možné použít GitHub nejen pro vývoj a správu kódu, ale také pro zpětnou vazbu od uživatelů. Na kartě "Problém" Uživatelé mohou zanechat zprávy o problémech, se kterými se vyskytly při používání produktu. Otevřít kartu "Problémy"a klikněte na tlačítko "NOVÝ PROBLÉM":

8. vydání

Ten, že dnes zvážíme, jsou vydání. Když produkt dosáhl určité fáze, můžete uvolnit uvolnění uživatelům a můžete si být jisti, že je vše stabilní tam a nikdo nezlomil nic špatného tahového požadavku v masteru. Nejprve musíte jít na hlavní stránku projektu, pak na kartě "Vydání":

Na této stránce musíte zadat verzi v poli. "Tag verze", pak název vydání a malý popis. Pokud jste sestavili archivy s binární, pak se zde také potřebují připojit. Pak klikněte "Vytvořit vydání":

Po vytvoření vydání bude tato stránka vytvořena:

závěry

V tomto článku jsme přezkoumali, jak používat GitHUB ubytovat a spravovat náš projekt. Celý systém je v angličtině, takže základní znalosti jazyka je velmi žádoucí, ale i bez nich nebude pracovat s GitHub nebude velmi obtížné. Doufám, že tyto informace byly užitečné pro vás. Máte-li zájem, jak pracovat s git z příkazového řádku, viz článek pro začátečníky.

Podrobný úvod do práce s gitem

Co je git a proč je já?

Git je distribuovaný systém řízení verzí, který umožňuje uložit všechny změny zadané v souborech uložených v úložišti. Změny jsou uloženy ve formě snímků, tzv. Zavolává, které mohou být umístěny na mnoha serverech. Zvažte tento standardní cloud pro zálohování na steroidy - můžete nejen obnovit kód v případě selhání, ale také vrátit kód na kteroukoli z předchozích uložených stavů. Můžete také snadno spolupracovat s jinými vývojáři - znovu, protože několik lidí může pracovat na jednom souboru v Doktech Google a vývojáři mohou současně pracovat na jednom úložišti a udržovat změny.

S ohledem na všechny jeho výhody je git nepostradatelným nástrojem pro každého, kdo dělá nebo se bude rozvíjet. V tomto článku se podíváme na nejužitečnější příkazy Git a situaci, kdy stojí za to použít. To také pomůže aktualizovat své znalosti, pokud jste již obeznámeni s Gitem.

Jak pracovat s Git

Spousta příkazů je k dispozici v Git, takže je užitečné je rozdělit na předmět / důvod k použití. Zaprvé se podíváme na práci s Git na místním stroji, protože většina operací se vyskytuje přesně tam, a pak se obrátíme na formát pro více hráčů.

S Gitem můžete pracovat jak přes příkazový řádek, tak prostřednictvím grafického rozhraní, jako je GitHub Desktop. Ačkoli velitelský řádek začátečník vývojáři mohou vyděsit, je stále lepší studovat, protože poskytuje více příležitostí než mnoho nástrojů s rozhraním.

Git týmy zpravidla vezmou typ git<команда> <аргументы> kde argument může být cesta k souboru. Týmy mohou být také možnosti, které jsou označeny jako -<опция> nebo -<однобуквенная опция> . Umožňují konfigurovat příkazové akce podrobněji. V tomto článku bude tým prezentován obecně, takže všechno je v<> Budete muset nahradit vlastní významy.

Pokud nevíte, jak příkaz používat, můžete otevřít průvodce pomocí nápovědy git<команда> , a pokud potřebujete jen připomenutí, použijte git<команда> -H nebo git.<команда> --Help (-help a -h jsou ekvivalentní).

Příprava git.

Instalace git.

Uživatelé systému Windows ji mohou stáhnout.

Git MacOS (OS X) je součástí nástrojů příkazového řádku XCODE, takže je musíte nainstalovat. Chcete-li zkontrolovat dostupnost git, otevřete terminál a zadejte git -verzi, abyste zkontrolovali verzi.

Pokud používáte Linux, použijte Sudo APT Install Git-All Command nebo SUDO DNF Install Git-all (na základě RPM).

Konfigurace konfiguračního souboru

První věc, kterou musíte udělat po instalaci Git, je nakonfigurovat uživatelské jméno a e-mail, protože se používají k identifikaci a uložení ve všech obrázcích, které jste přijali. Tato nastavení jsou uložena v konfiguračním souboru se všemi ostatními.

Můžete buď přímo upravit soubor soubor.gitconfig pomocí textového editoru nebo pomocí příkazu git config --global --edit a můžete upravit samostatná pole pomocí příkazu git config --global<поле> <значение> - Máme zájem o uživatele.name a user.Email pole.

Můžete také konfigurovat textový editor pro zápis zpráv o potvrzení pomocí pole Core.Editor. Zpočátku používá výchozí systémový editor, například VI pro Linux / Mac. Pole Commit.Template umožňuje zadat šablonu, která bude použita v každém COM.

Existuje mnoho dalších oborů, ale jeden z nejužitečnějších je alias, který váže tým na pseudonym. Například git config -global alias.t "Stav -s -s" umožňuje používat git st namísto stavů git

Příkaz git config - seznam zobrazí všechna pole a jejich hodnoty z konfiguračního souboru.

Vytvořit úložiště git

Inicializace nového úložiště. Příkaz git init lze použít nebo chcete-li kopírovat existující klon Git<адрес репозитория> .

Historie spáchaná v Git

Git ukládá data ve formě sady lehkých "snímků" známých jako spáchání. Stav systému souborů ukládají v určitém okamžiku, stejně jako ukazatel na předchozí (s) potvrzení. Každý výbor obsahuje jedinečný kontrolní součet - identifikátor, který git používá odkazovat na potvrzení. Chcete-li sledovat příběh, Git ukládá ukazatel hlavy, což označuje první potvrzení (dodržujeme řetězec Commit v opačném pořadí, abyste se dostali do předchozích komisí).

Můžeme odkazovat na potvrzení buď prostřednictvím svého kontrolního součtu, nebo prostřednictvím své pozice ve vztahu k hlavě, například, hlava ~ 4 označuje spáchání, což je 4 spácháno dříve než hlava.

Systém souborů Git.

Git sleduje soubory ve třech hlavních sekcích:

  • pracovní adresář (souborový systém počítače);
  • oblast připravovaných souborů (inscenací obchoduje obsah dalšího potvrzení);
  • Hlava (poslední potvrzení v úložišti).

Všechny hlavní soubory pro práci se soubory jsou sníženy na pochopení toho, jak Git řídí tyto tři sekce. Existuje běžná mylná představa, že oblast připravených souborů ukládá pouze změny. Je lepší přemýšlet o těchto třech sekcích jako samostatných souborových systémů, z nichž každá obsahuje jeho kopie souborů.

Zobrazení změn v souborových systémech

Příkaz Stav GIT zobrazí všechny soubory, které se liší mezi třemi sekcemi. Soubory mají 4 států:

  1. Unterakted (nicaked) - je v pracovním adresáři, ale neexistuje žádná verze v hlavě nebo v poli připravených souborů (git neví o souboru).
  2. Změněno (upraveno) - V pracovním adresáři je novější verze ve srovnání s hlavou uloženou nebo v poli připravených souborů (změny nejsou v dalším com.
  3. Připraveno (inscenováno) - existuje novější verze v pracovním adresáři a oblasti připravených souborů ve srovnání s hlavou (připraven k potvrzení).
  4. Bez změny - jedna verze souboru ve všech sekcích, tj. V posledních komisích obsahují aktuální verzi.

Poznámka: Soubor může být současně "změněn" a "připraven", pokud je verze v pracovním adresáři novější než v poli připravených souborů, což je zase novější verze v hlavě.

Můžeme použít možnost -S pro příkaz Git Status, abyste získali kompaktnější výstup (na řádku do souboru). Pokud soubor není sledován, pak bude zobrazen? ; Kdyby byl změněn, jeho jméno bude červené, a pokud je připraveno - zelená.

Chcete-li zobrazit změny, a nezměněny soubory, můžete použít následující příkazy:

  • git diff - srovnání pracovního adresáře s oblastí připravených souborů;
  • git Diff --Stated - Srovnání oblasti připravovaných souborů s hlavou.

Pokud použijete argument<файл/папка> , Diff zobrazí změny pouze pro zadané soubory / složky, jako je Git Diff SRC /.

Aktualizace souborového systému

Tým Git Add.<файл/папка> Aktualizuje oblast souborů souborů / složek z pracovního adresáře.

Příkaz Git Commit aktualizuje hlavu s novým potvrzením, která fotografuje soubory v oblasti připravovaných souborů.

Git Reset Command Action<коммит> Skládá se ze tří potenciálních kroků:

  1. Přesuňte ukazatel hlavy<коммит> (Například, když Rollback soutěží v pracovním adresáři a oblast připravených souborů bude více nových verzí souborů než v hlavě). Také, ukazatel hlavy pobočky bude přesunut do tohoto potvrzení.
  2. Aktualizujte oblast připravených souborů podle obsahu spáchání. V tomto případě budou nejnovější verze souborů pouze pracovní adresář.
  3. Aktualizujte obsah pracovního adresáře v oblasti připravovaných souborů. Musíte být opatrní o tom, protože změny souboru budou nakonec zničeny.

Ve výchozím nastavení příkaz reset git provádí pouze kroky 1 a 2, ale jeho chování lze změnit pomocí možností --Soft (pouze 1 krok) a --hard (všechny kroky).

Pokud odesíláte cestu k souboru / složce, příkaz bude proveden pouze pro ně, například Git Reset --Soft Head ~ 1 SRC /.

Hlava týmu Git Checkout<файл> vede ke stejnému výsledku jako git reset --hard hlavu<файл> - přepíše verzi souboru v poli Připravené soubory a v pracovním adresáři verze hlavy, tj. Zruší změny po posledním potvrzení.

Na druhou stranu, git pokladna<файл> (Již bez hlavy) přepíše verzi souboru v pracovním adresáři verzi v poli Připravené soubory, tj. Zruší změny od poslední připravené verze.

Konečně git rm.<файл> Zruší sledování souboru a odstraní jej z pracovního adresáře, možnost - Cached uloží soubor.

Ignorování souborů

Často nepotřebujeme Git pro sledování všech souborů v úložišti, protože jejich počet může zahrnovat:

  • soubory s citlivými informacemi, jako je hesla;
  • velké binární soubory;
  • montážní soubory, které jsou generovány po každé kompilaci;
  • například soubory OS / IDE .Ds_store. Pro MacOS OR. .Iml. Pro Intellij Idea - potřebujeme úložiště, abychom záviseli co nejmenší z systému.

Ignorovat soubor.gitigore. Chcete-li označit soubory, které chceme ignorovat, můžete použít vzory vyhledávání (zvážit je zjednodušené regulární výrazy):

  • / ___ - Vyhýbá se rekurzivitě - splňuje soubory pouze v aktuálním adresáři;
  • __ / - splňuje všechny soubory v určeném adresáři;
  • * ___ - splňuje všechny soubory se zadaným koncem;
  • Dokázal se! - ignorování souborů spadajících pod zadaný vzor;
  • [__] - odpovídá jakémukoli znaku od těch, které jsou uvedeny v hranatých závorkách;
  • ? - odpovídá jakémukoli symbolu;
  • / ** / - odpovídá vnořených adresářům, například A / ** / D odpovídá A / D, A / B / D, A / B / C / D atd., A tak dále.

Při zadávání souboru / složky v jiných příkazech můžeme použít vzory vyhledávání. Například GIT Přidat SRC / *. CSS přidá všechny soubory. CSS ve složce SRC.

Výbor

Vzhledem k tomu, že spáchání je základem historie verzí, nebude nadbytečný, aby se o nich o něco dozvěděl.

Příkaz Git Committe otevře textový editor pro zadávání zpráv Commit. Tento tým také trvá několik společných argumentů:

  • -M umožňuje napsat zprávu s týmem bez otevření editoru. Například Git Commit -M "upevňovací pytel";
  • -a převádí všechny monitorované soubory do oblasti připravovaných souborů a zahrnuje je v komoře (umožňuje přeskočit git přidat před potvrzení);
  • - Nahrává poslední potvrzení o novém upraveném potvrzení, což je užitečné, pokud jste nesprávně zadali zprávu posledního potvrzení nebo zapomněl na něj zahrnout některé soubory do ní.

Několik tipů, které stojí za to poslouchat:

  • Commite často: nebudete moci vrátit změny, pokud se vrátíte zpět na co.
  • Jedna změna je jedna commit: Nepokládejte všechny změny v jednom komitu, rozdělte je tak, aby bylo snazší vrátit se zpět.
  • Formát zprávy: Název by měl být v oblasti imperative zapalování, méně než 50 znaků a měl by logicky doplnit frázi tohoto potvrzení bude ___ (Tato potvrzení bude opravit chyby - toto potvrzení bude opravit chyby). Zpráva by měla vysvětlit, proč bylo provedeno potvrzení, a samotná spáchání ukazuje, co se změnilo. Podrobně naplánovány, jak psát zprávy pro spáchání.
  • (Volitelné) Nespouštějte drobné změny: Ve velkém úložišti může mnoho malých závodů clog historie. Dobrý tón je považován za takové spáchání při rozvoji, a při jejich přidávání do velkého úložiště je kombinovat do jednoho potvrzení.

Zobrazení změn v historii

Pomocí příkazu protokolu Git můžete zobrazit k zobrazení historie předchozích zavazadel v reverzním chronologickém pořadí. Může projít různé možnosti:

  • -p ukazuje změny v každé com.
  • --stat ukazuje zkrácené statistiky pro spáchání, jako jsou změněné soubory a počet přidaných / vzdálených řetězců v každém z nich;
  • -N ukazuje n. nedávné provize;
  • --Since \u003d ___ a --until \u003d ___ Umožňuje filtrovat spáchání do té doby, například --Since \u003d "2019-01-01" se zobrazí spáchání od 1. ledna 2019;
  • --Pretty Umožňuje určit formát protokolu (například --Pretty \u003d oneline), můžete také použít --pretty \u003d formát pro větší přizpůsobení, například -pretty \u003d formát: "% h% s";
  • -Grep and -s filtr se zavazuje s hlášením / změnám kódem, který obsahuje zadaný řetězec, například, git log -s_name_name umožňuje zobrazit přidání / vymazání funkce;
  • - Klouzání přechodů se zavazuje spáchat se slučovacími větvemi;
  • veta1..tell2 umožňuje zjistit, které závazky od pobočky 2 nejsou v oboru 1 (užitečné při spojování poboček). Například Git Log Master..test ukáže, co se dopustí z testovací pobočky nejsou v mistře (mluvit s větvemi o něco později).
  • -Left-pravý pobočka1 ... pobočka2 ukazuje, že buď v pobočce 1 nebo v pobočce 2, ale ne oba; podepsat< обозначает коммиты из ветка1 , а > - od pobočky2. Nahrát Pozornost: Používají se tři body, ne dva;
  • -L přijímá začátek argumentu, konec: soubor nebo: soubor: soubor a zobrazuje historii změn předávání řádku nebo funkce v souboru.

Další užitečný tým je Git vina<файл> , který pro každý řádek souborů zobrazuje autor a výši kontrolního součtu posledního potvrzení, která změnila tento řetězec. -L.<начало>, <конец> Umožňuje omezit tento příkaz na zadané řádky. To lze použít například k zjistit, které výbory vedly k určité chybě (takže se můžete vrátit zpět).

Konečně je zde příkaz git grep, který hledá všechny soubory v historii spáchání (a ne jen v pracovním adresáři jako grep) podle zadaného regulárního výrazu. Možnost -N Zobrazí odpovídající číslo řádku v souboru pro každý zápas a - count zobrazuje počet zápasů pro každý soubor.

Poznámka Nezaměňujte Git grep s git log -grep! První hledá soubory mezi spuštěním a druhý se dívá na zprávy protokolu.

Vzdálené servery

Doposud jsme diskutovali o používání git pouze na místním stroji. Můžeme však uložit historii závazků vzdálených úložišť, které mohou být sledovány a aktualizovány (zvažte jejich vzdálené zálohování cloud naší historie spáchání).

Příkaz Git Remote -V zobrazuje seznam vzdálených úložišť, které sledujeme, a názvy, které jsme přivlastnili.

Při použití příkazu klonování git Nejen se načíst kopii úložiště, ale také implicitně sledovat vzdálený server, který je na zadané adrese a který je přiřazen název názvu.

Nejvíce spotřebitelské příkazy:

  • git vzdálený přidat.<имя> - Přidá vzdálený úložiště se zadaným názvem;
  • git vzdálené odstranění.<имя> - odstraní vzdálený úložiště se zadaným názvem;
  • git vzdálené přejmenování.<старое имя> <новое имя> - přejmenuje dálkový úložiště;
  • gIT REMOTE SET-URL<имя> - přiřadí úložiště jmenováno novou adresu;
  • dálková show Git.<имя> - Zobrazí informace o úložišti.

Následující příkazy pracují s odstraněnými pobočkami:

  • git fetch.<имя> <ветка> - přijímá data z pobočky určeného úložiště, ale neslouží změny;
  • git pull.<имя> <ветка> - Sloučí data z pobočky určeného úložiště;
  • git push.<имя> <ветка> - Odesílá změny pobočky určeného úložiště. Pokud místní pobočka již sleduje dálkové ovládání, můžete použít pouze git push nebo git tah.

Několik lidí může požadovat změny ze serveru, provádět změny v místních kopiích a poté je odeslat na vzdálený server, který umožňuje interakci mezi sebou v rámci jednoho úložiště.

Větev

To vše je dobré a skvělé, pokud každý vývojář pracuje na projektu v různých časech. Tabulky zobrazené výše vysídlené pouze situace se změnou v původním úložišti nebo lokální kopii, ale ne práce několika lidí.

To nás vede k klíčovému rysu git - větvení, schopnost pracovat na různých verzích projektu. To znamená, že namísto jednoho seznamu s objednanými závady se příběh se liší v určitých bodech (což je podobný stromu). Každá větev v Git obsahuje lehkou hlavu hlavy do posledního potvrzení tohoto vlákna, která vám umožní vytvořit spoustu poboček bez dodatečných nákladů. Tip: Volání pobočky v souladu s funkčností vyvinutým v něm. Výchozí větev se nazývá Master.

Takže máme obecný ukazatel Hlava. A hlavu pro každou větev. Tak, přepínání mezi větvemi znamená pouze pohyb Hlava. V hlavě odpovídající větve.

Standardní týmy:

  • větev.<имя ветки> - vytváří novou pobočku s hlavou označujícím Hlava.. Pokud nepraváte argument<имя ветки> Tým zobrazí seznam všech místních poboček;
  • git Checkout.<имя ветки> - Přepíná do této větve. Možnost -B můžete předat nový pobočku před přepnutím;
  • git větev -d.<имя ветки> - Odstraní větev.

Jako náš místní úložiště a vzdálené, může mít spoustu poboček, takže když sledujete vzdálené úložiště, ve skutečnosti sledoval odstraněnou pobočku (Git Clone přináší váš hlavní větev na původní / hlavní větev vzdáleného úložiště).

Vazba na odstraněnou větev:

  • git branch -u.<имя удалённого репозитория>/<удалённая ветка> - váže aktuální pobočku do zadané vzdálené větve;
  • git Pokladna --track<имя удалённого репозитория>/<удалённая ветка> - analog předchozího příkazu;
  • git pokladna -b.<ветка> <имя удалённого репозитория>/<удалённая ветка> - vytvoří novou místní pobočku a začne sledovat dálkové ovládání;
  • gIT BRANCH --VV - zobrazuje místní a monitorované dálkové větve;
  • git Checkout.<удалённая ветка> - Vytvoří místní pobočku se stejným názvem jako dálkový ovladač a začne sledovat.

Obecně platí, že git pokladna je spojena s umístěním místa, které ukazuje hlavu větví, což vypadá, že reset git přesune obecnou hlavu.

Hypet a čištění

Je zde jedna jemnost - při přepínání větví git vyžaduje, aby pracovní stav je čistý, tj. Všechny změny ve sledovacích souborech musí být stanoveny.

Cca. přeložit To není tak úplně. Za určitých okolností git může automaticky přenášet nekonečnou změnu do jiné větve.

Někdy však máte nedokončené změny, které nelze opravit. V takové situaci mohou být uloženy a "Skrýt" pomocí příkazu Git Stash. Chcete-li vrátit změny, použijte Git Stash.

Možná místo toho chcete smazat všechny provedené změny. V tomto případě použijte příkaz GIT CLEAN. Volba -d bude také odstranit nekvalifikované soubory. Tip: Přidání možnosti -N, abyste zjistili, co se stane, když začnete vyčistit git bez přímého použití.

Kombinující pobočky

Poté, co jsme diskutovali, co jsou větve a oba mezi nimi, je čas mluvit o tom, jak mohou být v kombinaci po vývoji. Pobočka, ve které se chceme sloučit změny, se nazývají hlavní a pobočka, ze kterého je budeme sloučit - tematické. Existují dva způsoby, jak provádět změny z jedné větve do druhého: sloučení a pohybu.

Fúze

Zahrnuje vytvoření nového spáchání, který je založen na obecném zahájení předka dvou poboček a označuje jak hlavu jako předchozí spáchání. Pro fúzi jdeme do hlavní větve a používáme příkaz git sloučení<тематическая ветка> .

Pokud oba větve mění stejnou část souboru, vzniká konflikt konflikt - situace, ve které git neví, která verze souboru ušetřit, takže je nutné vyřešit konflikt osobně. Chcete-li zobrazit konfliktní soubory, použijte stav git.

Po otevření těchto souborů se zobrazí podobné značky řešení konfliktů:

<<<<<<< HEAD:index.html Everything above the ==== is the version in master. ======= Everything below the ==== is the version in the test branch. >\u003e\u003e\u003e\u003e\u003e\u003e Test: index.html

Nahradit v tomto bloku vše na verzi, kterou chcete odejít, a připravit soubor. Po vyřešení všech konfliktů můžete použít git Commit dokončit sloučení.

Hýbat se

Místo toho, aby kombinoval dvě pobočky výboru pro fúzi, pohybující se výbory tematické pobočky ve formě souboru nových výborů základní pobočky, která se nalije do čistších historií provizí.

Příkaz Git Rebase se používá k pohybu<основная ветка> <тематическая ветка> které reprodukují změny tematické pobočky na hlavní; Tematická odvětví hlavy označuje poslední reprodukované potvrzení.

Přesunout vs. fúze

Po sloučení protokolu s příběhem může vypadat docela náhodně. Na druhou stranu, pohybující se vám umožní přepsat příběh v normální konzistentní formě.

Tak proč potřebujete fúzi, pokud můžete používat po celou dobu pohybu? Bohužel, pohybující se není pankaa z matoucího kulatiny, protože vysídlené spáchání se skutečně liší od originálu, i když mají stejný autor, zprávu a změnu.

Představte si scénář:

  • Ve vaší pobočce vytvoříte několik spáchání a sloučit je do hlavní větve.
  • Někdo jiný se rozhodne pracovat na základě vašich komunikací.
  • Rozhodnete se přesunout spáchání a poslat je na server.
  • Když se někdo snaží sloučit svou práci na základě svých počátečních spáchání, nakonec obdržíme dvě paralelní pobočky s jedním autorem, zprávami a změnami, ale různými způsobilosti.

Proto zde je rada:

Přesuňte změny pouze na soukromé místní pobočce - nepohybujte se doposud, na kterém závisí někdo jiný.

Rollback výboru - vrátit se a resetovat

Podobné debaty o tom, co je lepší použít, nastane, když chcete vrátit zpět. Tým git vrátit.<коммит> Vytváří nové změny, zrušení změn, ale zachování historie, zatímco git reset<коммит> Přesune ukazatel hlavy tím, že poskytuje historii čistší (jako by se tato spáchání nikdy nestala). Je důležité poznamenat, že to znamená také, že se již nebudete vrátit k těmto změnám, například pokud se stále rozhodnete, že zrušení potvrzení bylo zbytečné. Čistič - neznamená lépe!

Shrnout

V této fázi máte téměř vše, co potřebujete k práci s gitem. Níže bude několik (volitelných) pokročilých tipů pro větší kontrolu nad spácháním a historií. Kromě toho, pak jsme náhodně ovlivňují GitHub - jeden z nejznámějších platforem pracujících s Git, který může být užitečný pro vás.

GitHub.

GitHub je platforma, která ukládá repozitář GIT na svých více serverech. Jako uživatel GitHub můžete uložit své vzdálené úložiště na jejich serverech, stejně jako přispět k dalšímu open-source úložiště. GitHub doplňuje použití git s některými novými funkcemi.

Můžete například vytvořit Dálkovou úložiště vidlice, tj. Chcete-li vytvořit kopii úložiště na severu Githubu. To je užitečné v případech, kdy nemáte právo vytvořit pobočku v původním úložišti. Při použití příkazu Git Clone bude místní úložiště sledovat vzdálený formulář jako původ a původní úložiště jako proti proudu.

Poté budete muset vypustit tematickou pobočku vzdáleného úložiště v hlavní pobočce originálu. Chcete-li to provést, můžete vytvořit nový požadavek tahu - požadavek na provedení změn, kde GitHub zkontroluje přítomnost konfliktů dříve, než si přejete provést sloučení. Často existují další kontroly před sloučením, jako je prohlížení a schvalování kódu nebo dokonce spuštění testů. V dotazu můžete diskutovat o kódu a všechny zavedené, které odesíláte do vzdálené tematické pobočky, budou automaticky přidány do požadavku, i když byl vytvořen před tím, než se tato zavazadla.

Pokročilé použití: Interaktivní příprava

Můžete snadno spravovat oblast připravených souborů (například při upevnění několika malých spáchání namísto jednoho velkého) pomocí interaktivní konzoly, kterou lze spustit add -i git. 8 týmů k dispozici v něm:

  • stav - Zobrazuje stručný popis pro každý soubor, který (ne) připravil;
  • aktualizace - připravuje soubory sledování;
  • vrátit se - odstranit jeden nebo více souborů z připravené oblasti;
  • add Neslaned - připravuje nekvalifikovaný soubor;
  • patch - připravuje pouze část souboru (užitečné, když například změnili několik funkcí, ale chcete přerušit změny v několika spáchání). Po výběru souboru vám bude zobrazen fragmenty a prezentovány možné příkazy: Stage Tento kus? . Můžu vstoupit? zjistit, co dělá každý tým;
  • diff - Zobrazuje seznam připravených souborů a umožňuje zobrazit změny pro každého z nich;
  • přestat - vychází z interaktivní konzoly;
  • nápověda - zobrazuje stručný popis každého týmu.

Symbol * vedle souboru znamená, že příkaz změní svůj stav (připravený / nepřipravený v závislosti na tom, zda dojde k aktualizaci nebo návratnosti). Pokud stisknete klávesu Enter bez zadání cokoliv v libovolném z menu příkazu, pak všechny soubory přepne na (NO) připravený stav.

Vezměte prosím na vědomí, že vytváření oprav (příprava pouze části souboru) je k dispozici nejen v interaktivní konzole, ale také prostřednictvím příkazu git add -p.

Pokročilé použití: Historie pravidel

Pro větší kontrolu nad historií místní pobočky potvrdíte, můžete použít příkaz git rebase -i head ~ n. který otevře interaktivní konzolu pro pohyb sady n. Zavádí se v pořadí od starého do nového (tj. V pořadí, ve kterém budou přesunuty). Takže můžete "upravit historii", ale nezapomeňte, že původní spáchání nelze změnit pouze pro pohyb.

Můžete změnit pořadí zavazadel změnou pořadí, ve kterém jsou uvedeny.

Změna zprávy spáchání / prodej

Chcete-li zadat výbor, který chcete změnit, použije se příkaz Edit. Pak, když bude git pohybovat, zastaví se v této com. Poté můžete použít git commit --amend změnit zprávu nebo připravit zapomenuté soubory. Chcete-li rozdělit kupní, po zastavení zadejte hlavu resetování git ^ (v důsledku hlavy, bude přesunuta na jednu zádech a všechny soubory se změnily v tomto potvrzení budou přepnout na stav nepřipravených). Poté můžete soubory opravit v jednotlivých spáchání obvyklým způsobem.

Po dokončení editace zadejte Git Rebase - continue.

Přepsat několik Commit

Někdy budete muset přepsat několik závěru - v takových případech můžete použít git filtr-větev. Chcete-li například odstranit náhodně nahraný soubor, můžete zadat Git Filtr-Branch - Filtr "Git RM -F<имя файла>"Hlava. Zvažte však, že zároveň se celý příběh pohybuje.

Kombinování několika závodů

Při práci na novém prvku v projektu můžete postupně zaznamenat i sebemenší změny tematické pobočky. Kvůli tomu je však historie ucpaná takovými malými závodem, které mohou odporovat pravidly projektu. To může být opraveno kombinací několika dopadů na jeden velký. Chcete-li to provést, nejprve použijte příkaz Vybrat vybrat první potvrzení, a pak squash pro následné. Git použije všechny změny v jednom zahájení a požádejte vás, abyste upravili zprávu obecného spáchání.

Přeneste samostatnou komunální

Kromě fúzí / pohybu všech závodů v tematické pobočce můžete mít zájem pouze o určité potvrzení. Předpokládejme, že máte místní příruční pobočku, kde pracujete na více potenciálních článcích, ale chcete zveřejnit pouze jeden z nich. Chcete-li to provést, můžete použít příkaz git cherry-pick. Chcete-li získat určité spáchání, ze kterého chceme vybrat, můžete použít protokol Git<основная ветка>..<тематическая> .

Upozorňujeme, že tímto způsobem vytvoří nový potvrzení, což pouze opakuje diff vybraného potvrzení (to znamená rozdíl mezi tímto potvrzením a předchozí), ale ne jeho podmínkou.

Závěr

Takže jsme přezkoumali základní pojmy git. Tento článek můžete použít jako stručná referenční kniha, a můžete si přečíst knihu "Pro git", což je mnohem více (~ 450 stran) a popisuje git více hlubší.

Chcete kopat hlouběji do git, ale málo (nebo naopak, hodně) jedné velké knihy? Pak byste se měli podívat na naše.

Konfrontace změn - hlavní rys osoby. Je-li v době, kdy jste začali pracovat s verzí řídicích systémy, nebyla žádná git - je velmi pravděpodobné, že jste začali s subverzi. Často lidé říkají, že git je příliš komplikovaný pro začátečníky. Nicméně, dám si s vámi nesouhlasit.

V tomto článku vám řeknu, jak používat git v práci s vašimi projekty. Předpokládáme, že vytvoříte projekt od nuly a chcete použít git jako systém řízení verzí. Po přečtení hlavních příkazů si přečtěte, jak můžete kód rozložit na GitHub.

Tento článek bude hovořit o základních věcech - jak inicializovat projekt, jak spravovat nové a existující soubory a jak ukládat kód v oblaku. Budeme snížit některé složité věci, jako je rozvětvení, protože článek je orientován na začátečníky.

Instalace git.

Na oficiálním webu Git je na různých systémech - Linux, Mac, Windows. V našem případě budeme používat Ubuntu 13.04 a git budeme instalován pomocí apt-get.

Sudo apt-get install git

Počáteční konfigurace

Vytvořit adresář, ve kterém budeme pracovat. Můžete také použít git pracovat s existujícím projektem a v tomto případě nebudete vytvářet demonstrační adresář, jak je popsáno níže.

Mkdir my_git_project cd my_git_project

Především je nutné inicializovat úložiště Git v adresáři projektu. Můžete to udělat pomocí příkazu init, který vytvoří adresář.git se všemi informacemi o vašem projektu.

Git Config --Global User.name "Shaumik" Git Config --Global User.Email " [Chráněný emailem]"Git config --global color.ui" auto "

Stojí za zmínku, že pokud neuvádíte svou adresu a název, pak budou použity výchozí hodnoty. V našem případě budou výchozí hodnoty donny a [Chráněný emailem]

Také jsme nastavili barvu rozhraní na hodnotu Auto, takže výstup příkazů GIT bude barva. Do těchto příkazů přidáváme --globální předponu, takže tyto hodnoty se používají v celém systému, a nebylo nutné je nastavit pro každý jednotlivý projekt.

Příprava souborů spáchání

Dalším krokem vytvoříme několik souborů. Pro to můžete použít libovolný textový editor. Všimněte si, že pokud inicializujete GIT v existujícím projektu, nemusíte tento krok učinit.

Zkontrolujte stav úložiště

Teď, když existují soubory ve vašem projektu, podívejme se, jak s nimi git apeluje. Chcete-li zkontrolovat aktuální stav úložiště, použijte příkaz GIT Status.

Přidat soubory do Git

V této fázi, Git nesleduje jedním z našich souborů. Je nutné specificky přidat soubory do Git tak, aby se to stalo. Chcete-li to provést, použijte příkaz Přidat.

Git přidat my_file.

Po kontrole stavu úložiště vidíme, že do něj již byl přidán jeden ze souborů.

Chcete-li přidat více souborů, používáme následující (všimněte si, že jsme přidali první soubor dříve, takže přidáváme pouze zbývající dva).

Git přidat myfile2 myfile3

Můžete použít git přidat rekurzivně, ale buďte opatrní s tímto příkazem. Existují některé soubory (například kompilované programy), které by neměly být přidány do systému řízení verzí. Pokud znovu použijete git přidat, takové soubory budou také spadat do úložiště.

Vymazat soubory

Představte si, že jste náhodně přidali soubor do úložiště, který by se tam neměl mít. Nebo chcete odstranit libovolný soubor ze systému řízení verze. Obecně platí, že příkaz GIT RM nebude jednoduše odstranit soubor z úložiště, ale také fyzicky odstraní z disku. Chcete-li sledovat soubor, ale zůstal na disku, použijte následující příkaz:

Git rm --cached [název souboru]

Změny komimu

Jakmile přidali všechny potřebné soubory, můžete je komentovat (opravit) v Git. Představte si, že potvrzení je snímek stavu projektu v určité fázi, ke kterému se můžete kdykoliv vrátit a v té době zobrazit stav projektu. S každým výborem je přiřazena zpráva, že argument je nastaven po prefixu -M

Git commit -m "moje první potvrzení"

Určete zprávu, která bude obsahovat užitečné informace, protože pomáhají pochopit, co bylo změněno v tomto potvrzení. Vyhněte se některým společným zprávám, jako jsou "pravidla chyb." Pokud máte chybu chyb, můžete zadat typ zprávy "Chyba # 123". Dobrá praxe - uveďte název pobočky nebo zlepšení. Například, "správa aktiv - přidal možnost generovat pdf na základě aktiv" - jasnou a srozumitelnou zprávu.

Git určuje commote dlouhé hexadecimální číslo. Obvykle není třeba kopírovat celou linku, první 5-6 znaků dostačující k identifikaci konkrétního potvrzení. Na snímku je vidět, že naše emise je identifikována číslem 8dd76FC.

Dále zavede

Změnit více souborů poté, co jsme je odešli. Poté, co jsme je změnili, status GIT hlásí, že jsme změnili soubory.

Můžete vidět, co se v těchto souborech změnilo od předchozího potvrzení pomocí příkazu Git Diff. Pokud chcete zobrazit změny pro konkrétní soubor, můžete použít Git Diff<файл> .

Je nutné indexovat změny a zamítnout je. Všechny modifikované projektové soubory mohou být přidány k následujícímu příkazu ke spáchání:

Můžete se vyhnout použití tohoto příkazu, pokud přidáte parametr k Git Commit. Tento příkaz indexuje všechny modifikované soubory a comums je. Ale tento přístup může být docela nebezpečný, takže omylem můžete povzbudit skutečnost, že jsem nechtěl. Řekněme například, že jste otevřeli soubor a náhodně jej změnil. Při indexování modifikovaných souborů budete informováni o změnách v každém souboru. Pokud však posíláte všechny upravené soubory, aniž byste se podívali na pomoc. Git Commit -A, pak všechny soubory budou spáchány, včetně těch, které se zavazují, že neplatí.

Jakmile indexoval soubory, můžete přistoupit k potvrzení. Jak již bylo zmíněno dříve, můžete zadat zprávu k potvrzení pomocí tlačítka -m. Ale můžete také zadat víceřádkové komentáře pomocí příkazu Git Commit, což otevírá Editor konzoly pro zadání komentáře.

Správa problémů

Chcete-li zobrazit historii projektu, můžete použít následující příkaz:

Zobrazí historii úplné historie ve formě seznamu a informace o nich. Informace o potvrzení obsahuje hash commit, autor, čas a komutační zprávu. Existuje mnoho typů gitových protokolů týmů, které budou muset seznámit v případě použití větvení v Git. Chcete-li zobrazit podrobnosti o konkrétních spáchání a upravených souborech, spusťte následující příkaz:

Git show.<хеш_коммита>

kde<хеш_коммита> - HEX číslo spojené se spácháním. Vzhledem k tomu, že tato příručka je navržena pro začátečníky, nebudeme zvažovat, jak vrátit stát v době konkrétního spáchání nebo jak ovládat pobočky.