Programovanie

27 základných tipov pre používateľov Git a GitHub

Aj keď majú používatelia Gitu na výber z desiatok sprievodcov pre začiatočníkov, a GitHub ponúka množstvo vlastných sprievodcov, stále nie je ľahké nájsť zbierku užitočných tipov pre vývojárov, ktorí chcú s Git a GitHub pracovať inteligentnejšie. Poďme to napraviť.

Pre tých z vás, ktorí Git alebo GitHub nepoznajú, vám nasledujúcich pár odsekov poskytne dostatočné pozadie na pochopenie tipov. Na konci tohto článku uvedieme asi tucet užitočných zdrojov.

Git je systém riadenia distribuovanej verzie, ktorý pôvodne napísal Linus Torvalds v roku 2005 pre komunitu jadrových systémov Linux a za jej pomoci. Nie som tu, aby som vás predával na Gite, takže vás ušetrím informácií o tom, aké rýchle a malé, flexibilné a populárne je, ale mali by ste vedieť, že keď naklonujete repozitár Git (skrátene „repo“) , získate celú históriu verzií na vlastnom počítači, nielen snímku z jednej pobočky súčasne.

Git začínal ako nástroj príkazového riadku a hodil sa k svojmu pôvodu v komunite jadra Linuxu. Ak chcete, môžete stále použiť príkazový riadok Git, ale nemusíte. Najmä ak ako hostiteľa používate GitHub, môžete vo Windows alebo Mac používať bezplatného klienta GitHub Desktop. Na druhej strane príkazový riadok Git bude fungovať pre ľubovoľného hostiteľa a je predinštalovaný na väčšine systémov Mac a Linux.

Iba vy sa môžete rozhodnúť, či vám je najpríjemnejšie používať príkazový riadok alebo natívneho klienta s grafickým užívateľským rozhraním. Ak máte radi grafické rozhranie, okrem klienta GitHub (Windows a Mac) možno budete chcieť zvážiť SourceTree (Windows a Mac, zadarmo), TortoiseGit (iba Windows, zadarmo) a Gitbox (iba Mac, 14,99 dolárov). Alebo môžete použiť editor alebo IDE, ktoré interne podporujú Git (pozri tip č. 11).

Tip Git / GitHub č. 1: Klonujte takmer čokoľvek

Z GitHubu a ďalších verejných úložísk Git je k dispozícii veľa zaujímavých projektov, ktoré môžete voľne klonovať do svojho počítača. Prečo by si to chcel robiť? Jedným z dôvodov je naučiť sa niečo o štýle kódovania, postupoch a nástrojoch v jazyku, ktorý nás zaujíma, vrátane štýlu komentovania protokolu potvrdenia (pozri tip č. 4). Druhým dôvodom je naučiť sa, ako daný projekt dosahuje svoje ciele. Tretím dôvodom, ak vám to licencia umožňuje a dáva to zmysel vašim účelom, by bolo začlenenie projektu do vášho vlastného snaženia alebo produktu. Mimochodom, dvakrát skontrolujte licenciu, aby ste sa neskôr nedostali do problémov s dodržiavaním predpisov.

Definícia git klon z manuálnej stránky:

Klonuje úložisko do novovytvoreného adresára a vytvára vetvy vzdialeného sledovania pre každú vetvu v klonovanom úložisku (viditeľné pomocou vetva git -r), a vytvorí a skontroluje počiatočnú vetvu, ktorá je rozvetvená z momentálne aktívnej vetvy klonovaného úložiska.

Po klone rovina načítať git bez argumentov aktualizuje všetky vetvy vzdialeného sledovania a a git pull bez argumentov navyše zlúči vzdialenú hlavnú vetvu do aktuálnej hlavnej vetvy, ak existuje.

Tip Git / GitHub č. 2: Často sťahujte

Jedným z najjednoduchších spôsobov, ako si s Gitom (a vlastne s akýmkoľvek systémom na správu verzií) urobiť neporiadok, je umožniť synchronizáciu súborov. Ak ty git pull často budete svoju kópiu repo aktualizovať a budete mať príležitosť zlúčiť svoj zmenený kód so zmenami iných, zatiaľ čo zlúčenie je ľahké pochopiť a dosiahnuť - v ideálnom prípade, keď je to také ľahké, že sa to dá urobiť automaticky. Dôsledkom tohto tipu je sledovanie stavu vášho projektu. Mnoho klientov Git vám automaticky zobrazí, keď potrebujete aktualizovať, aby ste udržali aktuálny stav.

Tip č. 3 na Git / GitHub: Zaviazajte sa včas a často

Commit je podrobná aktualizácia projektu, ktorá obsahuje jednu alebo viac zmien v jednom alebo viacerých súboroch. Predstavte si to ako záznam jednotky dokončenej práce, ktorú je možné použiť alebo odstrániť z projektu ako logický celok. Vykonajte každú logickú zmenu, ktorú dokončíte, ešte predtým, ako ju otestujete. Záväzky sa vzťahujú iba na vaše miestne úložisko. Dodatky k tomuto tipu nájdete v tipoch č. 4 a 5.

Definícia git spáchať z manuálnej stránky:

Ukladá aktuálny obsah indexu do nového potvrdenia spolu s logovou správou od užívateľa popisujúcou zmeny.

Tip č. 4 na Git / GitHub: Komentujte svoje záväzky tak, ako by ste ich ostatným komentovali

Existuje 10 druhov kódovačov: tí, ktorí komentujú svoje záväzky, a tí, ktorí nie. (Starý vtip. Rada: Akú základňu používam?)

Slobodne sa priznávam k tomu, že som lepkárom dobrých správ o protokolech spáchania. Nastavil som svoje úložiská tak, aby vyžadovali správy pre každé spáchanie, a bolo o mne známe, že rozposielam mrzuté správy v noci, keď spácham pozemok s protokolmi v poradí „xx“. Ak ste typ vývojára, ktorý si myslí, že (1) by kód mal hovoriť sám za seba a (2) komentáre v riadku sú oveľa dôležitejšie ako protokoly zmien, skúste klonovať úložisko, ktoré ste nikdy predtým nevideli, a identifikovať nedávne potvrdenie, ktoré mohlo spôsobiť najnovšie zverejnené vydanie bez prečítania celého kódu. Ako vidíte, presné protokoly potvrdenia sú dvojnásobné plus dobré.

Tip Git / GitHub č. 5: Po testovaní zmien stlačte

Najhoršia chyba súvisiaca s Gitom, o ktorej som kedy mal tú smolu, o ktorej som sa dozvedel, sa stala, keď outsourcingová spoločnosť prešla zo Subversion, ale necvičila svojich vývojárov o rozdieloch medzi distribuovaným riadením zdrojov a centralizovaným riadením zdrojov. Asi o mesiac neskôr sa v projekte vyvinuli podivné chyby, ktoré zrejme nikto nedokázal vypátrať. Vývojári zodpovední za oblasť aplikácie, ktorá sa správala nesprávne, na denných stretnutiach protestovali: „Opravil som to pred dvoma týždňami!“ alebo obviniť iného vývojára, že sa neobťažoval zaviesť zmeny, ktoré tak starostlivo skontroloval.

Nakoniec niekto identifikoval problém a naučil všetkých vývojárov, ako a kedy tam ich potvrdenia: Stručne povedané, vždy, keď sa potvrdenia úspešne otestujú v miestnom zostavení. Potom spoločnosť uskutočnila dvojdňový fúzny festival, kým mohla zostaviť a nasadiť aktualizovaný integrovaný produkt.

Tip Git / GitHub č. 6: Vetvite voľne

Jednou z najväčších výhod, ktoré má Git v porovnaní s niektorými inými systémami riadenia verzií, je to, že zlúčenie zvyčajne funguje dobre, prinajmenšom čiastočne preto, lebo Git automaticky vyberie najlepšieho spoločného predka, ktorého použije na zlúčenie. Väčšina vývojárov softvéru musí začať vo svojich projektoch častejšie vytvárať pobočky. Mal by to byť bežný denný jav, a nie predmetom úzkostného strategického stretnutia všetkých rúk. Pravdepodobnosť je taká, že keď bude projekt pobočky dokončený, prijatý a pripravený na presun do hlavného projektu, zlúčenie nebude predstavovať žiadne neprekonateľné problémy.

Viem, že je to potrebné upraviť, najmä ak ste uviazli vo spoločnosti, ktorá ovláda zdrojový kód pomocou CVS. Ale skús to. Je to oveľa lepšie, ako keď necháte zákazníkov náhodne vidieť váš nedokončený experimentálny kód, keď musí byť zverejnený hlavný projekt kvôli zlomovej chybe. (Tento článok vysvetľuje základné rozvetvenie a zlúčenie.)

Tip Git / GitHub č. 7: Zlúčte opatrne

Aj keď fúzie s Gitom zvyčajne fungujú dobre, ak ich urobíte bez rozmýšľania, občas sa môžete stretnúť s ťažkosťami. Prvým krokom je zabezpečiť, aby ste nemali žiadne nezáväzné zmeny. Z git zlúčiť manuálna stránka:

Pred uplatnením vonkajších zmien by ste mali mať svoju prácu v dobrej kondícii a angažovanú lokálne, takže v prípade konfliktov nebude obťažovaná. Pozri tiež git-stash.

Pozri tiež tip č. 8.

Aj keď to všetko pôjde na juh počas a git zlúčiť, nemáte hadicu:

Ak ste sa pokúsili o zlúčenie, ktoré vyústilo do zložitých konfliktov a chcete začať odznova, môžete sa zotaviť pomocou git merge —ort.

Následný príkaz do git zlúčiť je zvyčajne git mergetool, za predpokladu, že chcete na zlúčenie použiť GUI. Ak by ste uprednostnili metódu starej školy, môžete súbory upravovať v konflikte s obľúbeným programovacím editorom. Úplne ich odstráňte <<<<<<<, =======a >>>>>>> riadky, uložte upravené súbory a git pridať každý súbor, ktorý ste opravili.

Tip Git / GitHub č. 8: Pred prepnutím pobočiek vykonajte skrýšu

Pracovný tok vývojára softvéru je zriedka lineárny. Používatelia majú tu drzosť na hlásenie chýb, manažéri majú odvahu uprednostňovať iné tikety, ako tie, na ktorých ste sa rozhodli pracovať, a vy sami môžete zmeniť názor na to, čo chcete robiť.

Ste tu, s tromi súbormi určenými na vydanie, a štvrtým súborom v zmenenom, ale nepracujúcom stave. (The stav git príkaz vám to všetko povie, ak si náhodou nepamätáte, kde ste boli.) Zrazu musíte pracovať na oprave chýb v produkčnej verzii. Musíte si vymeniť vetvy pronto, ale nemôžete. Váš pracovný adresár je špinavý a máte dve hodiny práce, o ktoré nechcete prísť.

Zadajte skrýša git. Voilà! Teraz máte všetky svoje zmeny uložené vo vetve WIP (work in progress) a môžete prejsť na produkčnú vetvu z čistého adresára. Keď to urobíte, prepnite späť na pôvodné miesto platí git stash.

Tip č. 9 na Git / GitHub: Pomocou gistov zdieľajte úryvky a pasty

„Zoznamy“ GitHub - zdieľané úryvky kódu - nie sú funkciou Git, ale používajú Git. Všetky zoznamy sú úložiská Git a program GitHub Gist umožňuje ich ľahké zdieľanie. V zozname Gist môžete vyhľadávať verejné zoznamy podľa tém, programovacieho jazyka, stavu vidlice a stavu označeného hviezdičkou. Môžete tiež vytvoriť tajné zoznamy a zdieľať ich pomocou adresy URL.

Tip č. 10 na Git / GitHub: Preskúmajte GitHub

Mnoho zaujímavých projektov s otvoreným zdrojom má úložiská na GitHub. Explore GitHub poskytuje rozhranie na prehľadávanie, pomocou ktorého môžete nájsť niektoré z nich, ale väčšinou je jednoduchšie zadať niekoľko písmen názvu projektu do vyhľadávacieho poľa a nájsť tak jeho repozície. Napríklad napíšte jq alebo späť alebo ang nájsť tri z hlavných rámcov JavaScript s otvoreným zdrojovým kódom.

Git / GitHub tip č. 11: Prispievajte do projektov open source

Pokiaľ prechádzate projekty typu open source, prečo k nim neprispieť? Nie je to také ťažké, ako by ste si mysleli, a veľa sa dozviete. Môžete napríklad naklonovať projekt jquery / jquery (jQuery Core) a prehliadať súbor README.MD. V hornej časti uvidíte:

V duchu vývoja softvéru s otvoreným zdrojovým kódom jQuery vždy podporuje príspevok kódu komunity. Aby sme vám pomohli začať a skôr, ako sa pustíte do písania kódu, pozorne si prečítajte tieto dôležité pokyny pre príspevky ...

Potom nasledujú tri odkazy. Prvý z troch vás naštartuje pomerne rýchlo. Nie každý projekt s otvoreným zdrojom navrhuje plán tak jasne, ale všetci sa o to snažia.

Pochopte, aký je rozdiel medzi prispievateľom a prispievateľom. Prispievateľ podpísal požadované dohody a sprístupnil príspevok projektu. Sprostredkovateľ je oprávnený skutočne poskytnúť navrhnutý príspevok do úložiska projektu. Pretože účastník testuje váš príspevok, dôjde k oneskoreniu a nebudete chcieť zviazať svoju hlavnú pobočku, pred odoslaním žiadosti o načítanie by ste mali vykonať zmeny v inej pobočke (pozri tip č. 6) (pozri tip č. 16).

$config[zx-auto] not found$config[zx-overlay] not found