advanced git commands
V tomto výučbe sa venujeme užitočným príkazom Git, ako sú Git Stash, Git Reset, Git Cherry Pick, Git Bisect a vysvetľuje, ako integrovať GitHub do Jira:
V našich predchádzajúcich tutoriáloch v tejto sérii sme videli väčšinu funkcií GitHubu.
V tomto výučbe sa pozrieme na toto:
- Vytváranie vydaní
- Integrácia s Atlassian Jira
- Najčastejšie používané príkazy Git pre vývojárov
- Git Stash
- Git Cherry Pick
- Git Reset
- Git Bisect
=> Tu si pozrite sprievodcu GitHubom.
v čom je linux lepší ako windows
Čo sa dozviete:
- Vytváranie vydaní
- Integrácia GitHubu s Jira
- Pokročilé príkazy Git pre vývojárov
- Záver
- Odporúčané čítanie
Vytváranie vydaní
Vydania v GitHube sa používajú na zoskupenie vášho softvéru, pridanie poznámok k vydaniu a binárnych súborov (súbory WAR, EAR, JAR), aby ich zákazníci aj ľudia mohli používať rovnako.
Ak chcete vytvoriť vydanie, prejdite na hlavnú stránku úložiska a kliknite na ikonu Správy karta pod Spravujte témy.
Kliknite na Vytvorte nové vydanie.
Zadajte značku a názov vydania. K vydaniu sú pridané aj binárne súbory. Po dokončení kliknite na Zverejniť vydanie.
Vydanie je teraz pripravené so zdrojovým kódom a binárnymi súbormi.
Integrácia GitHubu s Jira
Jedným z dôležitých aspektov vysledovateľnosti je porovnanie problému Jira so záväzkami v GitHub. GitHub môže byť integrovaný do Jira nielen na referenciu problému, ale aj na pomoc pri vytváraní pobočiek a Pull Request z Jira.
Takže zvyčajne, keď vývojár začne pracovať na úlohe alebo chybách, vytvorí si vetvu. Odošlite vývoj alebo vyriešenie chýb, ktoré môžu vytvoriť požiadavky na načítanie z Jira, aby sa zlúčili do hlavnej pán pobočka. Potom môže byť pobočka vytvorená vývojárom odstránená.
Na nastavenie integrácie sme použili doplnok Git Integration for Jira. Toto je komerčný doplnok. Doplnok je možné stiahnuť z tu
Nainštalujte si doplnok do Jira z Správca -> Doplnky.
Po nainštalovaní doplnku choďte na Aplikácia -> Git Repositories a pripojte sa k GitHub.
Zadajte používateľské meno a heslo GitHub. Kliknite Pripojte sa .
Zobrazia sa úložiská uvedené pre používateľský účet. Kliknite na Importujte úložiská dokončiť nastavenie integrácie.
GitHub Commit With Jira Issue
Ako súčasť správy o potvrdení zadajte, ako je uvedené nižšie. Kliknite na Potvrdiť zmeny .
Príklad 1: Nižšie je uvedený príklad Smart Commit ktorý umožňuje vývojárom vykonávať akcie týkajúce sa problémov Jira zo správy o potvrdení. Jedným z takýchto príkazov je # komentár spolu s kľúčom Vydať, ktorý pridá komentár k problému Jira, ako je uvedené nižšie.
Sekcia komentárov bola aktualizovaná.
Príklad 2: Priradiť používateľovi a aktualizovať čas strávený ako 4 hodiny.
Použi #priradiť a #time príkaz smart commit v správe potvrdenia.
Obidve akcie boli ukončené.
Príklad 3: Zmeňte stav problému na Prebieha .
Vytvorte pobočku
Pretože úlohy a chyby sú prideľované vývojárom, musia začať pracovať na vývoji. Za týmto účelom vytvoria pobočku pre problém, na ktorom pracujú, uskutočňujú vývojové aktivity a zvyšujú požiadavku na zlúčenie do hlavnej pobočky.
V dolnom čísle Jira kliknite na Vytvorte pobočku.
Kliknite na Vytvorte pobočku.
V GitHub urobte zmenu v súbore vo vyššie vytvorenej vetve a vykonajte to isté.
Keď je vývoj dokončený, používateľ môže potom od spoločnosti Jira vzniesť požiadavku na stiahnutie.
V dolnej časti čísla kliknite na Vytvorte žiadosť o stiahnutie.
Kliknite na Vytvoriť. Žiadosť o stiahnutie sa zobrazí ako otvorená.
Ďalším krokom je zlúčenie žiadosti o načítanie v GitHub.
Stav sa zodpovedajúcim spôsobom aktualizuje v aplikácii Jira.
Pokročilé príkazy Git pre vývojárov
V tejto poslednej časti sa pozrieme na niektoré z bežne používaných príkazov Git pre vývojárov. S GitHubom to nemá nič spoločné, ale pomôže to vývojárom skôr, ako uskutočnia zmeny na GitHube.
Git Stash
Vo väčšine scenárov projektu, keď pracujete na novej funkcii alebo vylepšení, by náhle bolo potrebné pracovať na urgentnej chybe, ktorá bola nahlásená a je zátkou show. Keďže ste v polovici svojej novej práce a nedokončili ste ju, nemá zmysel robiť zmeny, ktoré sú z polovice hotové.
Je teda lepšie dočasne pozastaviť alebo uložiť polovičnú prácu, pracovať na chybe a vrátiť sa k práci na novej funkcii alebo vylepšení. Riešenie ponúka Git stash. Môžete ľahko prepnúť kontext vykonávania zmien rýchlo.
Príklad 1 :Predpokladajme, že pracujete na úlohe, ktorá vám bola pridelená, a keď sa pozriete na stav, ukazuje to, že odteraz nie je sledovaná.
Zrazu je vám pridelená chyba s vysokou prioritou. Potrebujeme teda dočasne uložiť alebo skryť prácu, na ktorej sa momentálne pracuje.
Spustite nasledujúci príkaz.
git stash uložiť „správu“
V tejto chvíli je pracovný adresár čistý. Môžu sa robiť akékoľvek nové záväzky a ak sa vyskytnú chyby, môžete prepnúť pobočku na prácu s ňou atď.
Ak chcete znova použiť zmeny, ktoré ste nechali, použite príkaz.
git stash pop
Vyššie uvedený príkaz odstráni skrýšu zo zoznamu a použije posledný uložený stav.
Môžete tiež použiť:
platí git stash
Vyššie uvedený príkaz zachová zmeny v skrýši a neodstráni ich.
Teraz sú zmeny znova použité a vy ich môžete potvrdiť.
Príklad 2: Uložte svoje zmeny, prepnite pobočku a zlúčte zmeny.
Vykonajte zmenu v súbore HTML v pán zmeny pobočiek a ukladania.
Ďalej je potrebné prepnúť na chyba vetvu, vykonať zmeny a vykonať zmeny.
git checkout -b chyba
Vykonajte zmeny v súbore HTML.
git commit -a -m „Opravený problém s e-mailom“
Prepnúť späť na pán vetva a znova uplatniť zmeny zo skrýš.
Teraz zlúčte z chyba pobočka do pán pobočka. Po zlúčení vykonať zmeny.
Príklad 3: Práca s funkciou Multiple Stash.
V miestnom repo sú 2 súbory Html. Je teda možné, že by viacerí vývojári pracovali na viacerých súboroch a podľa potreby odkladali zmeny, aby mohli pracovať na urgentných požiadavkách, ktoré ich opravia.
Developer 1 pracuje na hello.html a Developer 2 pracuje na index.html.
Vývojár 1
Ukladací zoznam má teraz 1 záznam.
Vývojár 2
Ukladací zoznam má teraz 2 záznamy. Posledná stash je prvá v zásobníku, ktorá je stash @ {0}. Teraz môžu obaja vývojári urgentne vykonať akékoľvek iné záväzky alebo pracovať na nejakej inej vetve a potom sa vrátiť späť na stránku pán vetva a uplatniť skrýšové zmeny.
Ak chcete použiť najnovšiu skrýšu, stačí spustiť
git stash pop
Ak chcete v zásobníku použiť konkrétnu skrýšu, spustite nasledujúci príkaz.
git stash pop stash @ {1}
Použime druhú skrýšu, ktorá je skrýša @ {1}
Podobne možno použiť aj druhú skrýšu.
Git Cherry Pick
Dnes vývojári pracujú na viacerých odvetviach, ako sú funkcie, vylepšenia, chyby atď.
Existujú situácie, kedy je potrebné vybrať iba pár konkrétnych záväzkov a nie zlúčiť celú vetvu do inej vetvy. Toto sa nazýva Cherry Pick. Tento proces vám umožňuje ľubovoľne vybrať akékoľvek potvrdenie Git z ostatných pobočiek a pripojiť ho k aktuálnej HLAVE pracovného stromu.
Príklad 1:
V miestnom úložisku git máme nasledujúcich 6 súborov.
Jeden súbor je odstránený, povedzme file5.txt.
Vykonajte zmeny.
Pozrite sa na protokol. Súbor5.txt je odstránený.
Takže chceme Cherry-Pick potvrdiť, kde sme pridali file5.txt. Musíme nájsť ID potvrdenia súboru5.tx a spustiť príkaz.
git cherry-pick
V tomto prípade je ID potvrdenia, keď bol pridaný súbor5.txt, a2f0124
File5.txt je teraz obnovený. Čerešňu sme vybrali.
Príklad 2:
Poďme to len upraviť file6.txt a zaviazať zmeny v pán pobočka.
Pozrite sa na druhý riadok v file6.txt kde e-mail nie je zadaný správne.
Vytvorte vetvu chyby a problém opravte. Zároveň upravte aj file5.txt, aby sme mali vo vetve chyby vykonaných viac potvrdení, ale Cherry-Pick vyberie iba potvrdenie urobené v file6.txt.
File6 upravený v chyba pobočka.
Celkovo sme teda vykonali zmeny súbor5 a súbor6 v pobočke Bug.
Poďme teraz prepnúť späť na pán vetva a Cherry-Vyberte potvrdenie vykonané iba pre file6.txt.
Ako vidíte, namiesto zlúčenia chyba vetva do pán vetva, práve sme vybrali Cherry-Picked iba konkrétny záväzok a aplikovali sme ju v hlavnej vetve.
Git Reset
Git reset je mocný príkaz na vrátenie miestnych zmien. Na un-stage teda použijeme všetky postupné súbory, ktoré používa tento príkaz.
Príklad
Upravte súbor a pridajte ho do pracovnej fázy. Resetujte pomocou príkazu, ako je znázornené, keď sú fázové zmeny nestavené.
Parametre git reset príkaz.
–Softvér: Tento parameter nasmeruje HEAD na ďalšie potvrdenie. Všetky súbory sa zmenia medzi pôvodnou HEAD a potvrdenie sa uskutoční. Pracovný adresár je neporušený.
Pozrite sa na aktuálne umiestnenie HEAD.
Vráťme sa o 5 záväzkov v histórii.
Znova potvrďte zmeny.
–Zmiešané: Táto možnosť je podobná mäkkému parametru. Zvyčajne, keď dôjde k nejakým chybným potvrdeniam, odstránite ich a opravíte neskôr a vrátite ich späť. Takže v zásade musíme pridať do indexu pomocou git pridať a potom git spáchať. Zmeny sa ponechajú v pracovnom strome.
Vráťme sa späť k dvom potvrdeniam v histórii a pozrime sa, že súbory nie sú sledované.
Teraz pridajte súbory do pracovnej fázy a vykonajte zmeny.
–Tvrdé: Tento parameter bude spočívať v bode, kde existoval konkrétny súbor. Zmeny nebudú v pracovnom strome k dispozícii.
Pohľad na vyššie uvedený protokol umožňuje návrat do bodu, v ktorom bol spáchaný iba súbor 1, t. J. Posledný záznam.
Použitím reset git - tvrdý
Git Bisect
Nájdite presné spáchanie, ktoré porušilo kód (Všetci sme predsa ľudia). Počas testovania aplikácie sa často od našich testerov dozvieme, že došlo k chybe alebo k poškodeniu tejto funkcie, a vy ako vývojár poviete, že to minulý týždeň fungovalo. Čo sa teda stalo a prečo sa objavila táto chyba?
Na vašu funkciu mohla niekedy mať vplyv zmena druhého kódu. Musíte tráviť čas prechádzaním históriou, kde existuje veľa záväzkov, ktoré sú časovo náročné a ťažko sledovateľné, ktoré zmeny spôsobili rozbitie kódu.
Git Bisect je príkaz na nájdenie presného potvrdenia pri zavedení chyby. Pri Git bisect musíte zvoliť dva potvrdenia, jeden dobrý a jeden zlý. Zhruba v polovici medzi oboma záväzkami bude odhlásené. Každé potvrdenie, či je zlé alebo dobré, kontrolujete, kým sa nenájde potvrdenie, ktoré spôsobilo porušenie chyby alebo kódu.
Príklad:
- Vytvorte nové miestne úložisko git a vytvorte súbor s názvom index.html
- Počiatočný obsah súboru, ako je znázornené.
- Pridajte do fázy a oddajte sa do úložiska.
- Vytvorte históriu záväzkov, ako je to znázornené, aby sme si mohli vybrať medzi dobrými a zlými záväzkami. Teraz, keď je vykonané počiatočné odovzdanie, urobte ďalšie zmeny tak, ako je to znázornené, a vykonajte to isté. Celkovo urobíme 7 záväzkov.
Druhá zmena
Tretia zmena
Štvrtá zmena
Piata zmena
Šiesta zmena
Siedma zmena
Zastavme sa tu. Máme teda sedem záväzkov.
Ak sa pozriete na stránku HTML, riadky za textom „Všetky 4 udalosti ...“ sú nesprávne, a preto dokumentácia nie je správna. Musíme teda nájsť potvrdenie, kde bola chyba zavedená, aby sme mohli položiť svoju HLAVU na dané potvrdenie.
Pozrime sa do denníka a zistíme zlé a dobré odhodlanie.
Posledné potvrdenie nie je v poriadku, takže to môže byť zlé spáchanie. Potvrdenie bolo zavedené po treťom potvrdení, takže môžeme mať Tretia zmena ako dobrý spáchať.
Proces rozpolenia sa začína štart git bisect a končí sa reset git bisect.
git bisect zlý // Pretože posledné potvrdenie je zlé. Nie je potrebné uvádzať ID potvrdenia.
git bisect dobrý
Teraz môžete vidieť, že HEAD je teraz medzi polovicou zlého a dobrého spáchania.
Prezrite si obsah index.html a zistite, či existuje dobré potvrdenie. Ak nie, potom sa chyba stále nenašla.
Nie je to tak, že chyba stále existuje. Posledný riadok je nesprávny. Takže bežíme ‘ git bisect bad ‘. Stále existuje zlý záväzok a aktuálny obsah je neprijateľný.
Vyššie uvedený obsah je správny a prijateľný.
Spustite „git log –oneline“ a „git bisect good“.
Takže Piata zmena bolo prvé zlé spáchanie a skutočne tak. Chyba je identifikovaná.
Aktuálny obsah by mal byť v konečnej dokumentácii.
Keď zistíte, že došlo k chybnému potvrdeniu, môžete vývojára informovať, aby opravil zmeny, ktoré môžu viesť k obnoveniu štvrtej zmeny, ktorá bola posledným dobrým potvrdením.
Spustiť ‘ reset git bisect ‘Ukončiť proces.
Záver
V tomto praktickom priméri GitHub sme sa pokúsili pokryť všetko, na čom by vývojár musel pracovať, t. J. Z hľadiska kontroly verzie a sledovania.
V prvých troch tutoriáloch série GitHub sme sa dozvedeli o činnostiach riadenia verzií, vytváraní úložísk, požiadavkách na vytiahnutie, pobočkách, kontrole kódu, organizáciách a tímoch, vidličku úložiska, štítky, míľniky, problémy, projektové dosky, wiki, vydania, integráciu s Jira a niektorými bežne používanými príkazmi Git pre vývojárov.
Naozaj dúfame, že všetkým vývojárom bude tento praktický prístup pre GitHub a príkazy Gitu užitočné pri ich projektoch.
=> Prečítajte si sériu školení Easy GitHub.
Odporúčané čítanie
- Výukový program pre integráciu GitLab Jira
- Príkazy Unix: Základné a pokročilé príkazy Unixu s príkladmi
- Integrácia selénu s GitHubom pomocou Eclipse
- Výukový program pre integráciu JIRA a SVN
- Git vs GitHub: Preskúmajte rozdiely pomocou príkladov
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Výukový program GitHub pre vývojárov Ako používať GitHub
- Výukový program pre Unix Pipes: Rúry v programovaní v Unixe