advanced git commands
Tento výukový program zkoumá užitečné příkazy Git, jako je Git Stash, Git Reset, Git Cherry Pick, Git Bisect a vysvětluje, jak integrovat GitHub do Jira:
V našich předchozích výukových programech v této sérii jsme viděli většinu funkcí GitHubu.
V tomto kurzu se podíváme na následující:
- Vytváření verzí
- Integrace s Atlassian Jira
- Nejčastěji používané příkazy Git pro vývojáře
- Git Stash
- Git Cherry Pick
- Git Reset
- Git Bisect
=> Prohlédněte si průvodce GitHubem zde.
jaký je nejlepší bezplatný čistič pc
Co se naučíte:
Vytváření verzí
Vydání v GitHubu se používají k seskupení softwaru, přidání poznámek k vydání a binárních souborů (soubory WAR, EAR, JAR), aby je zákazníci i lidé mohli používat stejně.
Chcete-li vytvořit verzi, přejděte na hlavní stránku úložiště a klikněte na ikonu Zprávy záložka pod Spravujte témata.
Klikněte na Vytvořte nové vydání.
Zadejte značku a název vydání. K vydání jsou přidány také binární soubory. Po dokončení klikněte na Publikovat vydání.
Vydání je nyní připraveno se zdrojovým kódem a binárními soubory.
Integrace GitHubu s Jira
Jedním z důležitých aspektů sledovatelnosti je odkazovat na problém Jira se závazky v GitHubu. GitHub lze integrovat do Jira nejen pro odkazování na tento problém, ale také pro pomoc s vytvářením větví a vyžádáním požadavku z Jira.
Takže obvykle, jakmile vývojář začne pracovat na úkolu nebo chybách, vytvoří si větev. Po zveřejnění vývoje nebo vyřešení chyb může být vytvořena žádost o stažení z Jira, aby se sloučila s hlavní mistr větev. Větev vytvořenou vývojářem lze poté odstranit.
K nastavení integrace jsme použili plugin Git Integration for Jira. Toto je komerční plugin. Plugin lze stáhnout z tady
Nainstalujte plugin do Jira z Správce -> Doplňky.
Jakmile je plugin nainstalován, přejděte na Aplikace -> Git Repositories a připojte se k GitHub.
Zadejte uživatelské jméno a heslo GitHub. Klepněte na Připojit .
Zobrazí se úložiště uvedená pro uživatelský účet. Klikněte na Import repozitářů dokončete nastavení integrace.
GitHub Commit With Jira Issue
Jako součást zprávy o potvrzení zadejte, jak je uvedeno níže. Klikněte na Potvrdit změny .
Příklad 1: Níže je uveden příklad Inteligentní potvrzení což umožňuje vývojářům provádět akce týkající se problémů Jira ze zprávy o potvrzení. Jedním z takových příkazů je #komentář spolu s klíčem Vydat, který přidá komentář k vydání Jira, jak je uvedeno níže.
Sekce komentářů aktualizována.
Příklad 2: Přiřaďte uživateli a aktualizujte čas strávený jako 4 hodiny.
Použijte #přiřadit a #čas příkaz smart commit ve zprávě o potvrzení.
Obě akce byly dokončeny.
Příklad 3: Změnit stav problému na Probíhá .
Vytvořte větev
Jelikož úkoly a chyby jsou přiřazeny vývojářům, musí začít pracovat na vývoji. Za tímto účelem vytvoří větev pro problém, na kterém pracují, provádějí vývojové aktivity a vyvolávají požadavek na sloučení do hlavní větve.
Ve vydání Jira dole klikněte na Vytvořte větev.
Klikněte na Vytvořit větev.
V GitHubu proveďte změnu souboru ve výše vytvořené větvi a proveďte stejné.
Jakmile je vývoj dokončen, může uživatel poté vznést požadavek Pull od Jiry.
Ve spodní části čísla klikněte na Vytvořit požadavek na vytažení.
Klikněte na Vytvořit. Požadavek na vytažení se zobrazí jako otevřený.
Dalším krokem je sloučení požadavku na vytažení v GitHubu.
Stav je odpovídajícím způsobem aktualizován v Jira.
Pokročilé příkazy Git pro vývojáře
V této poslední části se podíváme na některé z běžně používaných příkazů Git pro vývojáře. S GitHubem to nemá nic společného, ale pomůže to vývojářům, než provedou změny na GitHubu.
Git Stash
Ve většině scénářů projektu, když pracujete na nové funkci nebo vylepšení, najednou by bylo potřeba, abyste pracovali na naléhavé závadě, která byla nahlášena a je zátkou show. Jelikož jste uprostřed své nové práce a nedokončili jste ji, nemá smysl provádět změny, které jsou z poloviny hotové.
Je tedy lepší dočasně pozastavit nebo uložit napůl hotovou práci, pracovat na chybě a vrátit se k práci na nové funkci nebo vylepšení. Řešení tohoto problému poskytuje Git stash. Můžete snadno změnit kontext rychlých změn.
Příklad 1 :Předpokládejme, že pracujete na úkolu, který vám byl přidělen, a když se podíváte na stav, ukazuje, že od nynějška není sledován.
Najednou vám byla přidělena chyba s vysokou prioritou. Potřebujeme tedy dočasně uložit nebo skrýt práci, na které se aktuálně pracuje.
Spusťte následující příkaz.
git stash uložit „Zpráva“
V tuto chvíli je pracovní adresář čistý. Lze provést jakékoli nové závazky, a pokud se vyskytnou chyby, můžete přepnout větev na práci atd.
Pokud chcete znovu použít změny, které jste nechali, použijte příkaz.
git stash pop
Výše uvedený příkaz odebere skrýš ze seznamu a použije poslední uložený stav.
Můžete také použít:
git stash platí
Výše uvedený příkaz zachová změny ve skrýši a neodstraní je.
Nyní jsou změny znovu použity a můžete je potvrdit.
Příklad 2: Schovejte své změny, přepněte větev a sloučte změny.
Proveďte změnu v souboru HTML v souboru mistr větve a skrýšové změny.
Další je přepnout na Chyba větev, provést změny a potvrdit změny.
git checkout -b chyba
Proveďte změny v souboru HTML.
git commit -a -m „Opravený problém s e-mailem“
Přepněte zpět na mistr větev a znovu použít změny ze skrýš.
Nyní sloučit z Chyba větev do mistr větev. Po sloučení proveďte změny.
Příklad 3: Práce s více zásobami.
V místním repo jsou 2 soubory HTML. Je tedy možné, že by více vývojářů pracovalo na více souborech a podle potřeby by uložilo změny, aby mohli pracovat na naléhavých požadavcích, které jim způsobí změny.
Developer 1 pracuje na hello.html a Developer 2 pracuje na index.html.
Vývojář 1
Skrytý seznam má nyní 1 záznam.
Vývojář 2
Skrytý seznam má nyní 2 položky. Nejnovější stash je první v zásobníku, což je stash @ {0}. Nyní mohou oba vývojáři udělat jakékoli další závazky urgentně nebo pracovat na nějaké jiné větvi a pak se vrátit do mistr větev a použít změny skrýš.
Chcete-li použít nejnovější stash, stačí spustit
git stash pop
Chcete-li použít konkrétní skrýš v zásobníku, spusťte následující příkaz.
git stash pop stash @ {1}
Pojďme použít druhou skrýš, která je skrýš @ @ 1
Podobně lze použít i druhou skrýš.
Git Cherry Pick
Dnes vývojáři pracují na více odvětvích, jako jsou funkce, vylepšení, chyby atd.
Existují situace, kdy je třeba vybrat jen pár konkrétních závazků a nesloučit celou větev do jiné větve. Tomu se říká Cherry Pick. Tento proces vám umožňuje libovolně vybrat jakýkoli Git commit z ostatních větví a připojit jej k aktuální HEAD pracovního stromu.
Příklad 1:
V místním úložišti git máme následujících 6 souborů.
Jeden soubor je smazán, řekněme file5.txt.
Potvrďte změny.
Podívejte se na protokol. Soubor 5.txt je smazán.
Takže chceme Cherry-vybrat potvrzení, kde jsme přidali file5.txt. Musíme najít ID potvrzení souboru5.tx a spustit příkaz.
git cherry-pick
V tomto případě je ID potvrzení, kdy byl soubor file5.txt přidán a2f0124
File5.txt je nyní obnoven. Cherry jsme vybrali potvrzení.
Příklad 2:
Pojďme to jen upravit file6.txt a potvrdit změny v mistr větev.
Podívejte se na druhý řádek file6.txt kde e-mail není zadán správně.
Vytvořte větev chyby a problém vyřešte. Současně upravte také file5.txt tak, aby bylo ve větvi chyby provedeno více revizí, ale Cherry-Pick provede pouze revizi provedenou v file6.txt.
Soubor6 upraven v Chyba větev.
Celkově jsme tedy provedli změny file5 a file6 ve větvi Bug.
Nyní přepneme zpět na mistr větev a Cherry-Vyberte potvrzení provedené pouze pro soubor6.txt.
Jak vidíte, místo slučování Chyba větev do mistr větev, právě jsme vybrali Cherry-Picked pouze konkrétní potvrzení a aplikovali jsme ji v hlavní větvi.
Git Reset
Git reset je mocný příkaz pro zrušení místních změn. Pro un-stage se tedy používají všechny fázované soubory, které tento příkaz používá.
Příklad
Upravte soubor a přidejte jej do pracovní fáze. Resetujte pomocí příkazu, jak je znázorněno, když jsou fázové změny nestavěné.
Parametry git reset příkaz.
-měkký: Tento parametr nasměruje HEAD na další potvrzení. Všechny soubory jsou změněny mezi původní HEAD a potvrzení bude provedeno. Pracovní adresář je neporušený.
Podívejte se na aktuální umístění HEAD.
Vraťme se o 5 závazků v historii.
Znovu potvrďte změny.
-smíšený: Možnost je podobná soft parametru. Obvykle, když dojde k nějakým špatným revizím, odstraníte je a opravíte později a odevzdáte zpět. Takže v podstatě musíme přidat do indexu pomocí git přidat a pak git commit. Změny jsou ponechány v pracovním stromu.
Vraťme se o 2 závazky v historii a podívejme se, že soubory nejsou sledovány.
Nyní přidejte soubory do pracovní fáze a proveďte změny.
-tvrdý: Tento parametr bude spočívat v bodě, kde konkrétní soubor existoval. Změny nebudou v pracovním stromu k dispozici.
Podíváme-li se na výše uvedený protokol, pojďme se vrátit k bodu, kde byl spáchán pouze soubor 1, tj. Poslední položka.
Použitím git reset - tvrdý
Git Bisect
Najděte přesné potvrzení, které porušilo kód (všichni jsme přece lidé). Během testování aplikace často slyšíme od našich testerů, že došlo k chybě nebo je funkce poškozena, a vy jako vývojář řeknete, že to fungovalo minulý týden. Co se tedy stalo a proč se tato chyba objevila?
Někdy mohla změna v jiném kódu ovlivnit vaši funkci. Musíte trávit čas procházením historie, kde je spousta závazků, které jsou časově náročné a těžko sledovatelné, která změna způsobila rozbití kódu.
Git Bisect je příkaz k vyhledání přesného potvrzení, kdy byla chyba zavedena. S Git bisect musíte vybrat dva závazky, jeden dobrý a jeden špatný. Zhruba v polovině mezi oběma provizemi bude zkontrolováno. Každou revizi kontrolujete, zda je špatná nebo dobrá, dokud není nalezena revize, která způsobila rozbití chyby nebo kódu.
Příklad:
- Vytvořte nové místní úložiště git a vytvořte soubor s názvem index.html
- Počáteční obsah souboru, jak je znázorněno.
- Přidejte do pracovní fáze a odevzdejte se do úložiště.
- Vytvořte historii revizí, jak je znázorněno, abychom si mohli vybrat mezi dobrými a špatnými revizemi. Nyní, když je provedeno počáteční potvrzení, proveďte další změny podle obrázku a proveďte stejné. Celkově uděláme 7 závazků.
Druhá změna
Třetí změna
Čtvrtá změna
Pátá změna
Šestá změna
Sedmá změna
Zastavme se tady. Takže máme sedm závazků.
Pokud se podíváte na stránku HTML, řádky za „Všechny 4 události…“ jsou špatné, a proto dokumentace není správná. Musíme tedy najít revizi, kde byla chyba zavedena, abychom mohli na tuto revizi odpočinout HLAVU.
Podívejme se na protokol a zjistíme špatný a dobrý závazek.
Poslední potvrzení není správné, takže to může být špatné potvrzení. Potvrzení bylo zavedeno po třetím potvrzení, takže můžeme mít Třetí změna jako dobrý závazek.
Proces půlení začíná git bisect start a končí git bisect reset.
git bisect špatný // Protože poslední potvrzení je špatné. Není třeba uvádět ID potvrzení.
git bisect dobrý
Nyní vidíte, že HEAD je nyní mezi polovinou špatného a dobrého spáchání.
Podívejte se na obsah index.html a zjistěte, zda existuje dobré potvrzení. Pokud ne, pak chyba stále nebyla nalezena.
Opravdu ne, že chyba stále existuje. Poslední řádek je špatný. Takže běžíme git bisect bad “. Stále dochází ke špatnému potvrzení a aktuální obsah je nepřijatelný.
Výše uvedený obsah je správný a přijatelný.
Spusťte „git log –oneline“ a „git bisect good“.
Takže Pátá změna byl první špatný závazek a opravdu. Chyba je identifikována.
Aktuální obsah by měl být v závěrečné dokumentaci.
Protože je identifikován špatný závazek, můžete informovat vývojáře, aby opravil změny, které mohou vést k resetování hlavy na čtvrtou změnu, která byla posledním dobrým potvrzením.
Spustit „ git bisect reset „Ukončit proces.
Závěr
V tomto praktickém primeru GitHub jsme se pokusili pokrýt vše, na čem by vývojář musel pracovat, tj. Z hlediska kontroly verzí a sledování.
V prvních třech tutoriálech řady GitHub jsme se dozvěděli o aktivitách správy verzí, vytváření úložišť, vyžádaných vyžádání, větví, revizí kódu, organizací a týmů, vykládání úložišť, štítky, milníky, problémy, projektové desky, wiki, vydání, integrace s Jirou a některými běžně používanými příkazy Git pro vývojáře.
Opravdu doufáme, že všem vývojářům bude tento praktický přístup pro GitHub a příkazy Gitu přínosný pro jejich projekty.
=> Přečtěte si sérii školení Easy GitHub.
Doporučené čtení
- Výukový program integrace GitLab Jira
- Unixové příkazy: Základní a pokročilé Unixové příkazy s příklady
- Integrace selenu s GitHub pomocí Eclipse
- Výukový program pro integraci JIRA a SVN
- Git vs GitHub: Prozkoumejte rozdíly pomocí příkladů
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Výukový program GitHub pro vývojáře Jak používat GitHub
- Výukový program pro Unix Pipes: Pipes v programování Unixu