Git. Rýchly štart o používaní základných operácií s vysvetlením

Popisuje praktickú časť problému používania git - jeho inštaláciu a registráciu na serveri Github.com.

Github.com je služba, ktorá ponúka ukladanie vášho kódu a dát pomocou systému riadenia verzie. Git.. GitHub poskytuje bezplatný tarifný plán na ukladanie údajov 300MB v otvorenej forme. To znamená, že každý užívateľ internetu si môže stiahnuť vaše údaje. Na github môže byť umiestnený a zatvorený do iných úložísk, platí 7 dolárov za mesiac. Vo voľnom účte Github, štandardne nikto nemôže zmeniť vaše údaje (iba čítať). Ale môžete trvať na tom, kto z užívateľov systému Github má právo nahrávať.

Článok popisuje podrobne, ako vytvoriť nastavenie GIT v systéme Windows av Linuxe OS.

Inštalácia gitov pod Linuxom

Používatelia Linuxu, myslím, že to nemá zmysel vysvetliť, ako inštalovať git - to sa robí rôznymi spôsobmi. V systéme Debianu (ktorý stojí za to so mnou), na inštaláciu git, môžete použiť príkaz:

aPT-GET Install Git

Inštalácia git pod oknami

Prejdeme do oficiálneho git stránky http://git-scm.com, kliknite na tlačidlo Stiahnite si pre systém Windows. V okne, ktoré sa otvorí, kliknite na tlačidlo Úplný inštalátor pre oficiálne git. Spustite prijatý exe-shnik.

V procese inštalácie sa táto otázka požiada:

Odporúčam Výber "Spustiť git z príkazového riadka systému Windows". Všetky ostatné možnosti môžu byť opustené štandardne. Po inštalácii gitsu, musíte reštartovať alebo dokončiť reláciu používateľa a prihlásiť sa, ak chcete použiť zmeny v premennej systémovej premennej.

Ak dostanete informácie o verzii, potom je nainštalovaný git a spustený. Ak dostaneme informácie, že program GIT sa nenašiel, chápeme, čo robili zle.

SSH kľúčové nastavenie

Pred registráciou s Githubom by ste mali najprv generovať šifrovanie kľúčov SSH. Tento kľúč je potrebný na rýchle inštaláciu spojenia s Githubom, bez zadania hesla. Bez takéhoto githubného kľúča nebude ľahké pracovať.

Pozor!

V čase generácie kľúčov sa bude požadovať heslo. Toto heslo prístup k zatvorenému tlačidlu, ktorý je uložený len na vašom aute a kdekoľvek inde. Toto heslo je nastavené pre maximálne cenné papiere, hoci bez neho môžete urobiť. Musíte vedieť, že nastavením hesla na súkromný kľúč budete musieť zadať toto heslo s každým githubným serverom. Pri zadávaní hesla teda zmizne všetky pohodlie používania šifrovacích kľúčov.

Používatelia MyTetra: Rozhranie práce s príkazovým riadkom, ktorý sa používa na volanie git počas synchronizácie, nemôže pracovať pri zadávaní znakov. Preto, ak zadáte heslo, synchronizácia nebude fungovať.

Nastavenie kľúčov SSH v Linuxe

V operačnom systéme Linuxu sa najprv musíte pozrieť do adresára ~ / .ssh. Ak sú súbory ID_RSA a ID_RSA.PUB, potom je to klávesy SSH. Ak nie je takýto adresár ani takéto súbory, potom by sa mali generovať klávesy. Nechajte tím:

Namiesto toho [Chránené e-mail] Musíte zadať svoj e-mail. V procese generácie kľúčov sa pýtate, kde chcete umiestniť súbory, jednoducho stlačte ENTER. Pri vyžiadaní hesla jednoducho stlačte ENTER. Po generácii sa majú súbory ID_RSA a ID_RSA.PUB zobraziť v adresári ~ / .ssh, budú vhodný pre nás neskôr.

Konfigurácia klávesov SSH v systéme Windows

V operačnom systéme Windows je generátor kľúčov SSH zahrnutý v balíku GIT. Ak chcete vygenerovať tlačidlá, musíte spustiť súbor C: Programové súbory Git Bash.vbs. Môže sa začať ako obyčajný exe-shnik. Otvorí sa program GIT Console. Musí mať tím:

ssh-keygen -t RSA -C " [Chránené e-mail]"

Buďte opatrní, v tejto konzole si všimnete policajtovú minulosť, jednoducho zadajte príkaz manuálne. Ako e-mail, zadajte svoju poštovú schránku. Na požiadanie " Zadajte súbor, v ktorom chcete uložiť kľúč"Stačí stlačiť kláves ENTER. Pri vyžiadaní hesla" ENTER FASSPHRASE "A" ENTER ENTERSPHRASE ZAPNUTÉ "Jednoducho stlačte ENTER. V procese generovania klávesov v konzole sa vydá približne nasledujúce informácie:

Generovanie verejného / súkromného kľúča RSA kľúča.
Zadajte súbor, v ktorom chcete uložiť kľúč (/ c / dokumenty a nastavenia / používateľské meno / .ssh / id_rsa)
Zadajte prístupové heslo (prázdne pre bez passfrázy):
Znova zadajte rovnakú passfrázu:
Vaša identifikácia bola uložená IN / C / Dokumenty a Nastavenia / Užívateľské meno / .ssh / ID_RSA.
Váš verejný kľúč bol uložený v / c / dokumenty a nastavenia / používateľské meno / .ssh / id_rsa.pub.
Kľúčový odtlačok je:
51: DB: 73: E9: 31: 9F: 51: A6: 7A: C5: 3D: DA: 9C: 35: 8F: 95 [Chránené e-mail]

Po vykonaní tohto programu v katalógu C: Dokumenty a nastavenia \\ t ID_RSA a ID_RSA.PUB súbory budú umiestnené, budú pre nás užitočné neskôr.

Registrácia na github.com.

Teraz je všetko pripravené na registráciu. Prejdite na štartovaciu stránku github.com. Rozhranie je trochu zmätené, takže dám pár screenshotov, kde to je stlačené. Dizajn a usporiadanie možno kedykoľvek zmeniť, takže v súčasnosti opím logiku akcie.

V hornom menu nájdete položku " Ceny a registrácie."A kliknite naň:

Otvorí sa stránka výberu tarifných plánov. Vyberte si bezplatný účet " VYTVORTE SI ÚČET ZADARMO":

Inštalácia kľúča SSH v Github

Bezprostredne po registrácii je potrebné zaregistrovať svoj verejný kľúč šifrovací kľúč v systéme GUTHUB (Open SSH kľúč). Ak chcete pridať kľúč, musíte kliknúť v pravom hornom rohu. " Nastavenia účtu":

V okne, ktoré sa otvorí, musíte kliknúť na položku menu " SSH Verejné kľúče."a kliknite na tlačidlo" Pridajte ďalší verejný kľúč". Zobrazia sa dve polia - názov kľúča ( Titul) a kľúčový obsah ( Kľúč.).

V teréne Titul Môžete napísať názov počítača, na ktorom sa generuje verejný kľúč. Môžete písať v ruštine.

V teréne Kľúč. Musíte vložiť obsah súboru ID_RSA.PUB. Pamätajte si, v ktorom katalógu sú? Prejdite do tohto adresára, otvorte ľubovoľným textovým editorom ID_RSA.PUB (je to s rozšírením .pub, nie zmätená). Zvýrazňujeme všetky text, kopírovanie a vložíme na stránke Github v poli Kľúč..

Po pridaní kľúča sa počítač môže pripojiť k githubu cez program GIT a nemali by sa vyskytnúť žiadne chyby.

Vytvorenie úložiska na Github

Teraz je čas vytvoriť svoj prvý úložisko na Github. Úložisko je možné zobraziť jednoducho ako adresár, v ktorom synchronizované súbory a podadresáre budú ležať. Musíte vytvoriť úložisko v webovom rozhraní Github, a už ho môžete vyplniť súbormi a pracovať s ním pomocou programu GIT v počítači.

Ak chcete vytvoriť úložisko, musíte kliknúť v pravom hornom rohu " Dashboard.". V okne, ktoré sa otvorí, uvidíte položku" Vytvoriť úložisko.":

Takže túto položku nepotrebujeme! Táto položka sa otvorí dialógové okno vytvárania úložiska a stránku Pomocníka. Namiesto kliknutia na túto položku hľadáme nižšie na stránke pre nepravdepodobné prepojenie " Vytvoriť úložisko.". Otvorí aj dialógové okno na pridanie nového úložiska.

V pridávaní nového dialógu úložiska musíte vyplniť aspoň pole Názov projektu " Názov projektu.". V mene projektu je lepšie nepoužívať Cyrillic, pretože názov projektu je názov adresára. Aby ste sa vyhli problémom, názov projektu obsahuje len latinsko. Po stlačení tlačidla" Vytvorte úložisko.", Úložisko sa vytvorí."

Je vytvorený prevádzkový odkaz na úložisko v systéme githubu. Ak ste zaregistrovali pod názvom Username, a vaše úložisko sa nazýva reponame, potom môžete použiť nasledujúce odkazy na prístup k tomuto úložisku:

V GITY Syntax:

[Chránené e-mail]: užívateľské meno / reponam.git

V syntaxe HTTPS:

https: // [Chránené e-mail]/Username/reponame.git.

Práca s archívom na Github cez program GIT

Odteraz možno považovať za úplné tance okolo webového rozhrania Github. Ďalej môžete pracovať len pomocou programu GIT.

Najprv musíte urobiť malé nastavenie programu GIT: Zadajte lokálny systém GIT používateľa a e-mail. Toto sa vykonáva podľa nasledujúcich príkazov, ktoré možno vykonať v každom adresári:

git config -global user.Name "TOPULTNAME"
Git config -global user.email [Chránené e-mail]

kde namiesto vášho mínu, musíte napísať svoje meno a miesto [Chránené e-mail] - tvoj email. Tieto hodnoty sa používajú na prihlásenie na github. Preto musíte zadať svoje prihlásenie na github - na mieste [Chránené e-mail] Musíte zadať e-mail, ktorý ste zadali pri generovaní šifrovacích kľúčov.

Po týchto nastaveniach môžete nalejte súbory do úložiska. Prejdite do katalógu s projektom a dajte tímom:

git Commit -A -M -M "Prvý záväzok"

git Remote Pridať pôvod [Chránené e-mail]: užívateľské meno / reponam.git

git push -u pôvod

Po týchto príkazoch je na serveri Github vytvorená kópia súborov adresára, v ktorej boli vykonané príkazové údaje. Ďalej môžete užívať zaväzovacie, vyplňte zmeny servera Github, prečítajte si zmeny zo servera. Ale toto je úplne iný príbeh.

Pre ľudí, prirodzene odolávať zmene. Ak sa GIT nesplnil, keď ste začali pracovať s riadenými systémami verzií, pravdepodobne sa cítite pohodlnejšie v Subversion System (SVN).

Často ľudia hovoria, že git je príliš komplikovaný pre začiatočníkov. Napriek tomu vám umožní, aby som s ním nesúhlasím.

V tejto lekcii vám poviem, ako používať git vo vašich projektoch. Predpokladajme, že vytvoríte projekt od nuly a chcete ho spravovať pomocou git. Po širšom zozname hlavných príkazov získate predstavu o tom, ako umiestniť svoj kód do oblaku githubom.

V tomto článku budeme hovoriť o základoch GIT - Ako inicializovať svoje projekty, ako spravovať nové a existujúce súbory a ako uložiť kód v oblaku.

Nebudeme sa dotýkať relatívne zložitých častí GIT, ako je vetvenie, pretože táto lekcia je určená pre začiatočníkov.

Inštalácia git.

Na oficiálnej stránke git je detailné informáciena jeho inštalácii na Linux, Mac a Windows. V našom prípade budeme poukázať na ubuntu 13.04 na inštaláciu git pomocou apt-get:

sudo apt-get nainštalovať git

Počiatočné nastavenie

Vytvorme adresár, v ktorom budeme pracovať. Prípadne môžete použiť GIT na správu jedného z existujúcich projektov; V tomto prípade nebudete musieť vytvoriť demo adresár, ako je uvedené nižšie:

mkdir my_git_project cd my_git_project

Prvým krokom je inicializácia git v adresári. To možno vykonať pomocou príkazu Init, ktorý vytvorí adresár .Git obsahujúci všetky informácie spojené s GIT pre váš projekt.

git config --global user.name "Shauumik" git config -global user.email " [Chránené e-mail]"Git config -global color.UI" AUTO "

Je dôležité si uvedomiť, že ak nešpecifikujete svoje meno a e-mailovú adresu, použijú sa predvolené hodnoty. V našom prípade by predvolené hodnoty boli donny používateľské meno a e-mailovú adresu [Chránené e-mail].

Okrem toho sme nastavili automatickú hodnotu pre farbu užívateľského rozhrania, takže výstup príkazu GIT bude mať farebné podsvietenie.

Prefix -Global je potrebná, aby sa tieto nastavenia zadali nabudúce, keď nabudúce spustíme projekt GIT v našom systéme.

Príprava súborov pre spáchanie

Ďalším krokom je vytvorenie súborov v adresári. Môžete použiť napríklad Editor textového textu VIM. Všimnite si, že ak sa chystáte pridať GIT do existujúceho adresára, nemusíte tento krok vykonať:

Skontrolujte stav úložiska

Teraz, keď máme niekoľko súborov v našom úložisku, uvidíme, ako sa s nimi rozsvieti. Ak chcete skontrolovať aktuálny stav úložiska, musíte použiť príkaz statusu GIT:

Pridanie súborov do git na sledovanie

V súčasnosti nemáme súbory na sledovanie pomocou git. Musíme pridať súbory špeciálne v GIT, aby ste zadali git, ktorý potrebujete na sledovanie.

Pridajte súbory s príkazom Pridať:

Po kontrole stavu úložiska uvidíme, že bol pridaný jeden súbor:

Ak chcete pridať viacero súborov, môžete použiť nasledujúci záznam príkazu (všimnite si, že sme pridali ďalší súbor pre demonštráciu):

git pridať myfile2 myfile3

Môžete použiť git pridať rekurzívne, ale buďte opatrní s týmto príkazom. Existujú určité súbory (napríklad kompilované súbory), ktoré sú zvyčajne uložené mimo úložiska git.

Ak rekurzívne používate príkaz Pridať, pridá všetky takéto súbory, ak existujú vo vašom archíve.

Vymazanie súborov

Ale vykonanie jednoduchého príkazu GIT RM vymaže súbor nielen z GIT, ale aj z vášho miestneho systému! Na

GIT prestal sledovať súbor, ale samotný súbor je zachovaný v miestnom systéme, spustite nasledujúci príkaz:

git rm -cached

Zmeny

Potom, čo ste umiestnili súbory, môžete ich dodržať na git. Predstavte si, že páchanie je zachytávanie určitého bodu, ktorý sa môžete vrátiť k prístupu k vášmu úložisku v tomto štádiu.

Môžete sa viazať na každý výbor správu, ktorá sa pridá pomocou predpony -m:

git commit -m "môj prvý záväzok"

Podporuje užitočnými správami, pretože vám pomôže určiť, čo ste zmenili v tomto KOM.

Vyhnite sa príliš bežným správam ako " Pevné chyby" Ak máte tracker úloh, môžete pridávať správy vo forme " Pevná chyba # 234».

Dobrou praxou je použitie názvu pobočky alebo názov funkcie ako predponu na správu o páde. Napríklad, " Asset Management: Pridaná funkcia na generovanie súborov Asset PDF"Je zmysluplná správa.

Git identifikuje sa zaväzuje pridaním dlhého hexadecimálneho čísla ku každému pádu. Spravidla nemusíte kopírovať celý reťazec, aby ste určili dostatočne prvých 5-6 znakov.

Upozorňujeme, že na screenshote, náš prvý záväzok je určený kódom 8DD76FC.

Ďalej zaväzuje

Po našom prvom pásku meníme viacero súborov. Po ich zmene uvidíme, že v dôsledku vykonania príkazu GIT status Git som objavil zmeny v súboroch, ktoré sleduje:

Zmeny v súboroch sledovania môžete skontrolovať v poslednom poznámke pomocou príkazu GIT Diff. Ak chcete zobraziť zmeny v konkrétnom súbore, použite príkaz GIT Diff :

Musíte znova pridať tieto súbory, aby ste vykonali zmeny v sledovaní súborov pre nasledujúci záväzok. Všetky monitorované súbory môžete pridať spustením príkazu:

Pomocou tohto príkazu sa môžete vyhnúť pomocou prefixu - pre príkaz Comml Commit, ktorý pridá všetky zmeny súborov sledovania.

Tento proces je však veľmi nebezpečný, pretože môže poškodiť projekt. Povedzme napríklad, že ste súbor otvorili a zmenili sa omylom.

Ak ste selektívne umiestni súbory, všimnite si zmeny v každom súbore. Ak však pridáte prefixu - k svojmu páchaniu, všetky súbory budú ponehnuté, a nebudete môcť identifikovať možné chyby.

Po odoslaní vašich súborov môžete pokračovať do páchateľa. Uviedol som, že správa, ktorú zavádzame pomocou prefix -m, môže byť spojená s každým výborom.

Avšak, je možné zadať správu v niekoľkých riadkoch pomocou príkazu Git Commit, ktorý otvára interaktívnu formu na nahrávanie:

Projektový manažment

Ak chcete zobraziť históriu projektu, môžete vykonať nasledujúci príkaz:

Uvádza sa, že celá história projektu sa zobrazí, čo je zoznam všetkých spáchaní a informácií o nich. Informácie o záväzku zahŕňa Kórumk Kesh Commit, Autor, Time a Commutation Správa. Existujú rôzne možnosti pre git log, ktorý môžete preskúmať, hneď ako zvážiť koncepciu pobočky (vetva) v GIT.

Ak chcete zobraziť podrobné informácie o konkrétnom obchode a súboroch, ktoré boli zmenené, spustite nasledujúci príkaz:

git show.

kde Toto je hexadecimálne číslo spojené s odporom. Keďže táto lekcia je určená pre nováčikov, nebudeme zvážiť, ako sa vrátiť do stavu určitého páchateľa alebo ako kontrolovať pobočky.

Umiestnenie kódov v oblaku

Teraz, keď ste sa naučili, ako spravovať kód vo vašom systéme, je čas umiestniť kód v oblaku.

GitHub je veľmi dobre známa platforma na ukladanie, distribúciu a riadenie zdrojového kódu otvorených projektov. Táto služba využíva mnoho vývojárov na celom svete, medzi ktorými existujú veľké spoločnosti, ako napríklad Microsoft, RedHat a mnoho ďalších, aj stovky vývojárov mnohých populárnych projektov.

Platforma poskytuje príležitosti nielen na zobrazenie kódu a jeho distribúcie, ale aj histórie verzií, spoločných vývojových nástrojov, nástrojov na poskytovanie dokumentácie, správy a spätnej väzby. A najzaujímavejšia vec, ktorú môžete umiestniť na GiHUB otvorené aj súkromné \u200b\u200bprojekty. V tomto článku sa pozrieme na to, ako používať GitHub na prispôsobenie sa vášmu projektu. Takže hovoriť, GitHub pre začiatočníkov.

Povedzme, že máte svoj vlastný projekt a chcete umiestniť svoj kód na Github vo verejnom Prístup k iným používateľom, ktorí by mohli vidieť a zúčastňovať sa na rozvoji. Prvá vec, ktorú potrebujete, je vytvoriť účet.

1. Vytvorenie účtu

Ak chcete vytvoriť nový účet na stránke Otvorte hlavnú stránku githubu a okamžite môžete okamžite zadať údaje pre nový účet. Musíte zadať používateľské meno, e-mail a heslo:

Po dokončení záznamu kliknite na položku "Zaregistrujte sa zadarmo":

V ďalšom kroku potrebujete vybrať typ archívu. Verejné archívy sú zadarmo, ale ak chcete vytvoriť súkromný úložisko, kód, z ktorého bude k dispozícii len vám, budete musieť zaplatiť 7 dolárov za mesiac.

Účet je pripravený a budete presmerovaný na stránku, kde môžete vytvoriť svoj prvý projekt. Ale skôr, ako to môžete urobiť, musíte potvrdiť svoju e-mailovú adresu. Ak to chcete urobiť, otvorte svoju poštovú schránku a postupujte podľa odkazu v liste z Github.

Nie je potrebné žiadne nastavenie githubu, len niekoľko kliknutí s myšou.

2. Vytvorenie úložiska

Na stránke, ktorá sa otvorí, je to hlavná stránka pre autorizovaných užívateľov, kliknite na položku "Spustiť projekt":

Môžete okamžite inicializovať úložisko vytvorením súboru README, na to musíte spomenúť Tick "Inicializujte tento úložisko s readme" v dolnej časti stránky. Môžete si tiež vybrať licenciu:

Keď je všetko pripravené, vyberte "Vytvoriť projekt"Nový projekt bude vytvorený s súborom README, ktorý obsahuje popis a licenčný súbor.


3. Pridanie pobočiek

Pobočky githubu vám umožňujú súčasne pracovať s viacerými verziami projektu. V predvolenom nastavení pri vytváraní úložiska sa vytvorí majsterová vetva, to je hlavná pracovná pobočka. Môžete vytvoriť ďalšie pobočky, napríklad, aby ste mohli otestovať softvér pred jeho uverejnením v majstrovskej vetve. Môžete teda súčasne vyvinúť produkt a poskytnúť používateľom stabilnú verziu. Môžete tiež vytvoriť jednotlivé pobočky pre verziu programu pre rôzne systémy.

Aktuálna vetva je uvedená v ľavom hornom rohu po Slove "Branch".Ak chcete vytvoriť novú pobočku, tento zoznam jednoducho nasadzujte a začnete písať svoje meno:

Stránka navrhne, aby ste vytvorili novú pobočku, vyberte "Vytvoriť pobočku".

Ihneď po stvorení budete pracovať s tesne vytvoreným pobočkou.

4. Zmeňte súbory a zaväzuje sa

Akékoľvek zmeny súborov githubu sa používajú pomocou zadaných. Odhodlanie sa vykonáva tak, že sa opraví opravy a opisujú tieto opravy. To je potrebné, aby ste vedeli, že a kedy ste sa zmenili, a tiež uľahčuje sledovanie práce tímu. Slovo je možné preložiť ako "Fix". To znamená, že môžeme vykonať zmeny niekoľkých súborov a potom ich opraviť. Poďme zmeniť súbor ReadME pre príklad. Ak to chcete urobiť, nájdite tlačidlo so strapcom na pravej strane panela a kliknite naň:

Textový editor sa otvorí, kde môžete zadať správnosť, ktorú potrebujete:

Potom, čo urobíte všetko, čo potrebujete, musíte vyplniť pole "Odpojiť" v dolnej časti stránky. Stručne opíšte, čo bolo zmenené a potom kliknite na tlačidlo "Zmena zmien":

Tieto zmeny budú zapísané do súčasnej pobočky projektu, pretože teraz pracujeme s testovaním, potom sa zmenia.

5. Vytvorenie dotazov fúzií (požiadavka na stiahnutie)

GitHub pre začiatočníkov sa môže zdať veľmi ťažké kvôli takýmto funkciám, ale je veľmi pohodlné, ak to vymyslíte. Žiadosť o konfluenciu alebo požiadavku na ťahanie je príležitosť, vďaka ktorej môže každý vývojár požiadať o inú, napríklad tvorcu úložiska, aby sa zobrazil jeho kód a pridajte ho do hlavného projektu alebo pobočky. Pracovný nástroj s požiadavkami na fúziu používa nástroj porovnávania diff porovnávania, takže môžete vidieť všetky zmeny, ktoré budú zdôraznené inou farbou. Pull požiadavka môže byť vytvorená ihneď po vytvorení záväzku. Poďme poslať ťahovú požiadavku z našich testovacích pobočiek na hlavnú. Po prvé otvorte kartu "Vytiahnite požiadavku".

Tu, kliknite "Vytvoriť požiadavku na ťahanie":

V tomto okne si môžete prezrieť všetky zmeny, teraz vidíme riadok:

6. Zobrazenie a schvaľovanie žiadostí o fúziu

Teraz, na rovnakom karte Pull požiadavky, sme práve urobili žiadosť o zlúčenie a môžeme to vziať len kliknutím "Zlúčiť požiadavku na vytiahnutie":

Ale ak táto žiadosť pochádzala z inej osoby, musíte skontrolovať, či tam zmenený a či je potrebné to urobiť, kliknite na popis dotazu a uvidíte známe okno Zmeniť zobrazenie:

Kód sa potom dováža do hlavnej vetvy a skúšobná vetva sa môže bezpečne odstrániť.

7. Chybové správy

Je tiež vhodné, že je možné použiť github nielen na vývoj a správu kódu, ale aj pre spätnú väzbu od užívateľov. Na karte "Problém" Užívatelia môžu zanechať správy o problémoch, s ktorými sa vyskytujú pri používaní vášho produktu. Otvoriť kartu "Problémy"a kliknite na tlačidlo "Nový problém":

8. vydania

Ten, že dnes budeme zvážiť, sú vydania. Keď výrobok dosiahne určitú fázu, môžete uvoľniť uvoľnenie užívateľom a môžete si byť istí, že všetko je stabilné tam a nikto netrhol nič zlé na požiadanie v Master. Najprv musíte prejsť na hlavnú stránku projektu, potom na karte "Vydania":

Na tejto stránke musíte zadať verziu v poli. "Verzia značky", potom názov uvoľnenia a malého popisu. Ak ste zostavili archívy s binárnymi, potom sa tu musia pripojiť. Potom kliknite na tlačidlo "Vytvoriť vydanie":

Po vytvorení vydania sa vytvorí takúto stránku:

závery

V tomto článku sme preskúmali, ako používať GitHub na ubytovanie a správu nášho projektu. Celý systém je v angličtine, takže základné znalosti jazyka je veľmi žiaduce, ale aj bez nich bude pracovať s Githubom, nebude veľmi ťažké. Dúfam, že tieto informácie boli pre vás užitočné. Ak máte záujem o prácu s gitom z príkazového riadku, pozrite si článok pre začiatočníkov.

Podrobný úvod do práce s GIT

Čo je git a prečo ma?

Git je distribuovaná verzia riadiaci systém, ktorý vám umožní uložiť všetky zmeny zadané v súboroch uložených v úložisku. Zmeny sú uložené vo forme snímok, nazývané zaväzujúce, ktoré môžu byť umiestnené na mnohých serveroch. Zvážte tento štandardný oblak pre zálohovanie na steroidoch - môžete nielen obnoviť kód v prípade zlyhania, ale aj na prevrátenie kódu na niektorý z predchádzajúcich uložených štátov. Môžete tiež ľahko komunikovať s inými vývojármi - opäť, pretože niekoľko ľudí môže pracovať na jednom súbore v Dokumentoch Google a vývojári môžu súčasne pracovať na jednom archíve a udržiavať ich zmeny.

Vzhľadom na všetky jeho výhody, GIT je nepostrádateľným nástrojom pre každého, kto robí alebo sa bude rozvíjať. V tomto článku sa pozrieme na najužitočnejšie príkazy GIT a situáciu, keď stoja za to. Bude tiež pomôcť obnoviť svoje vedomosti, ak ste už oboznámení s GIT.

Ako pracovať s git

Veľa príkazov je k dispozícii v git, takže je užitočné rozdeliť ich na predmet / dôvod na použitie. Po prvé, budeme sa pozrieť na prácu s git na miestnom stroji, pretože väčšina operácií sa vyskytuje presne, a potom sa poďme na formát multiplayer.

S GIT, môžete pracovať ako cez príkazový riadok a cez grafické rozhranie, ako je Github Desktop. Hoci vývojári príkazov Command Line môžu vystrašiť, je ešte lepšie študovať, pretože poskytuje viac príležitostí ako mnoho nástrojov s rozhraním.

Pravidlo, git tímov, vzali typ git<команда> <аргументы> Tam, kde argument môže byť cesta k súboru. Tímy môžu byť tiež možnosti, ktoré sú označené ako -<опция> alebo -<однобуквенная опция> . Dovoľujú vám podrobnejšie konfigurovať príkazové akcie. V tomto článku bude tím prezentovaný vo všeobecnosti, takže všetko je v<> Budete musieť nahradiť svoje vlastné významy.

Ak neviete, ako používať príkaz, môžete otvoriť sprievodcu pomocou pomôcky GIT<команда> a ak potrebujete pripomienku, použite git<команда> -h alebo git.<команда> --hlp (--help a -h sú ekvivalentné).

Príprava git.

Inštalácia git.

Používatelia systému Windows si ho môžu stiahnuť odtiaľto.

MacOS (OS X) GIT prichádza ako súčasť nástrojov príkazového riadka Xcode, takže ich musíte nainštalovať. Ak chcete skontrolovať dostupnosť git, otvorte terminál a zadajte git -version, aby ste skontrolovali verziu.

Ak používate Linux, potom použite SUDO APT nainštalovať Git-All Command alebo SUDDO DNF nainštalovať git-all (na základe RPM).

Konfigurácia konfiguračného súboru

Prvá vec, ktorú potrebujete po inštalácii GIT, je nakonfigurovať používateľské meno a e-mail, pretože sa používajú na identifikáciu a uloženie vo všetkých obrázkoch, ktoré ste urobili. Tieto nastavenia sú uložené v konfiguračnom súbore so všetkými ostatnými.

Môžete buď priamo upraviť súbor FILE.GITCONFIG pomocou textového editora, alebo pomocou príkazu GIT Config -global -edit a môžete upravovať samostatné polia pomocou príkazu GIT Config -global<поле> <значение> - Máme záujem o používateľa.Name a user.email.

Textový editor môžete tiež nakonfigurovať, aby ste napísali správy CIMITY pomocou programu Core.editor. Spočiatku používa predvolený editor systému, napríklad VI pre Linux / Mac. Pole Commit.Template umožňuje zadať šablónu, ktorá sa použije na každom KOM.

Existuje mnoho ďalších oblastí, ale jeden z najužitočnejších je alias, ktorý viaže tím na pseudonym. Napríklad git config -global alias.t "Status" vám umožní používať git st namiesto stavu git -s

Príkaz git config --list zobrazí všetky polia a ich hodnoty z konfiguračného súboru.

Vytvoriť úložisko git

Inicializácia nového úložiska. Príkaz GIT INIT môže byť použitý alebo ak chcete kopírovať existujúce, git klon<адрес репозитория> .

História spáchaná v git

GIT ukladá údaje vo forme sady ľahkých "snímok" známych ako zaväzuje. Uchovávajú stav súboru systému v určitom okamihu času, ako aj ukazovateľ na predchádzajúce (y) doposiaľ. Každý výbor obsahuje jedinečný kontrolný súčet - identifikátor, ktorý GIT používa, aby sa odvolával na záväzok. Ak chcete sledovať príbeh, GIT uloží ukazovateľ hlavy, ktorý označuje prvý záväzok (sledujeme reťazec Commit Chain v opačnom poradí, aby ste sa dostali k predchádzajúcim zástupcom).

Môžeme sa vzťahovať na záväzok buď prostredníctvom kontrolného súčtu, alebo prostredníctvom svojej pozície v porovnaní s hlavou, napríklad hlava ~ 4 odkazuje na záväzok, ktorý je 4 zaväzuje skôr ako hlava.

Súborový systém GIT.

GIT Sleduje súbory v troch hlavných častiach:

  • pracovný adresár (súborový systém vášho počítača);
  • oblasť pripravených súborov (stagingová oblasť ukladá obsah nasledujúceho záväzku);
  • Hlava (posledný záväzok v úložisku).

Všetky hlavné súbory pre prácu so súbormi sa znižujú na pochopenie toho, ako git kontroluje tieto tri časti. Existuje spoločná mylná predstava, že oblasť pripravených súborov iba ukladá zmeny. Je lepšie premýšľať o týchto troch častiach ako samostatné súborové systémy, z ktorých každý obsahuje svoje kópie súborov.

Zobrazenie zmien v systémoch súborov

Príkaz statusu GIT zobrazuje všetky súbory, ktoré sa líšia medzi tromi časťami. Súbory majú 4 stavy:

  1. Nepritelnené (netradičné) - je v pracovnom adresári, ale nie je tu žiadna verzia v hlave alebo v poli pripravených súborov (git nevie o súbore).
  2. Zmenené (upravené) - v pracovnom adresári sa nachádza novšia verzia v porovnaní s hlavou uloženou alebo v poli pripravených súborov (zmeny nie sú v nasledujúcom com.
  3. Pripravený (Inštasovaný) - V pracovnom adresári je novšia verzia a oblasť pripravených súborov v porovnaní s hlavou (pripravená na spojenie).
  4. Bez zmeny - jedna verzia súboru vo všetkých sekciách, t.j. v posledných komerciách obsahuje aktuálnu verziu.

Poznámka Súbor môže byť súčasne "zmenený" a "pripravený", ak je verzia v pracovnom adresári novšia ako v poli pripravených súborov, čo zase je novšia verzia v hlave.

Môžeme použiť možnosť -S pre príkaz status GIT, aby ste získali kompaktnejší výstup (na riadku do súboru). Ak súbor nie je sledovaný, potom sa zobrazí? ; \\ T Ak sa zmenil, jeho meno bude červená, a ak je pripravená - zelená.

Ak chcete zobraziť samotné zmeny, a nezmenené súbory, môžete použiť nasledujúce príkazy:

  • git Diff - porovnanie pracovného adresára s oblasťou pripravených súborov;
  • git Diff-Štadión - Porovnanie oblasti pripravených súborov s hlavou.

Ak použijete argument<файл/папка> , Diff zobrazí zmeny len pre špecifikované súbory / priečinky, ako napríklad GIT Diff SRC /.

Aktualizácia systému

Team Git Pridať<файл/папка> Aktualizuje oblasť súborov súborov / priečinkov z pracovného adresára.

Príkaz GIT COMPULTU aktualizuje hlavu s novým záväzkom, ktorý sníma obrázky súborov v oblasti pripravených súborov.

Git reset príkaz akcie<коммит> Pozostáva z troch potenciálnych krokov:

  1. Presunúť ukazovateľ hlavy<коммит> (Napríklad, keď Rollback súťaží v pracovnom adresári a oblasť pripravených súborov bude viac nových verzií súborov ako v hlave). Tiež sa ukazovač hlavy pobočky presunie k tomuto pádu.
  2. Aktualizujte oblasť pripravených súborov podľa obsahu záväzku. V tomto prípade bude najnovšie verzie súborov len pracovný adresár.
  3. Aktualizujte obsah pracovného adresára v oblasti pripravených súborov. Musíte byť opatrní, pretože zmeny súboru budú nakoniec zničené.

V predvolenom nastavení, príkaz GIT reset vykoná iba kroky 1 a 2, ale jeho správanie je možné zmeniť pomocou možností --soft (len 1 krok) a -hard (všetky kroky).

Ak pošlete cestu k súboru / priečinku, príkaz bude vykonaný len pre nich, napríklad GIT reset --soft hlavu ~ 1 src /.

TEAM GIT CHECKOUT HEAD<файл> vedie k rovnakému výsledku ako git reset -hard hlavu<файл> - Prepíše verziu súboru v poli pripravených súborov av pracovnom adresári z verzie hlavy, to znamená, že zruší zmeny po poslednom záväzku.

Na druhej strane, git checkout<файл> (už bez hlavy) prepíše verziu súboru v pracovnom adresári z verzie v poli pripravených súborov, to znamená, že zruší sa mení od poslednej pripravenej verzie.

Konečne git rm<файл> Zruší sledovanie súboru a odstráni ho z pracovného adresára, voľba -cached uloží súbor.

Ignorovanie súborov

Často nepotrebujeme git na sledovanie všetkých súborov v úložisku, pretože ich číslo môže zahŕňať:

  • súbory s citlivými informáciami, ako sú heslá;
  • veľké binárne súbory;
  • montážne súbory, ktoré sú generované po každej zostavení;
  • napríklad súbory OS / IDE, .Ds_store. Pre macos alebo bomba Pre intellij nápad - potrebujeme úložisko, aby sme závisili ako čo najmenšie zo systému.

Ignorovať súbor .gitignore. Ak chcete označiť súbory, ktoré chceme ignorovať, môžete použiť vyhľadávacie vzory (zvážiť ich zjednodušené regulárne výrazy):

  • / ___ - vyhýba sa rekurzii - spĺňa súbory len v aktuálnom adresári;
  • __ / - spĺňa všetky súbory v zadanom adresári;
  • * ___ - spĺňa všetky súbory so zadaným koncom;
  • ! - ignorovanie súborov spadajúcich pod zadaný vzor;
  • [__] - zodpovedá akémukoľvek charakteru, ktoré sú špecifikované v hranatých zátvorkách;
  • ? - zodpovedá akémukoľvek symbolu;
  • / ** / - Zodpovedá vnoreným adresárom, napríklad A / ** / D zodpovedá A / D, A / B / D, A / B / C / D atď. A tak ďalej.

Pri zadávaní súboru / priečinka v iných príkazoch môžeme dokonca používať vzory vyhľadávania. Napríklad Git Pridať SRC / *. CSS pridá všetky súbory. CSS v priečinku SRC.

Výbor

Keďže spáchania sú základom histórie verzií, nebude nadbytočné, aby sa o nich dozvie niečo viac.

Príkaz Git Commit Otvorí textový editor na zadanie správ COMPULT. Tento tím tiež trvá niekoľko spoločných argumentov:

  • -m vám umožňuje napísať správu s tímom bez otvorenia editora. Napríklad git commit -m "fixačný tašku";
  • -A transfers všetky monitorované súbory do oblasti pripravených súborov a zahŕňa ich v kuchýri (umožňuje preskočiť git pridať pred spotrebou);
  • --And nahrádza posledný záväzok k novému upravenému páchaniu, ktorý je užitočný, ak ste nesprávne napísali posolstvo posledného potvrdenia alebo zabudli do neho zahrnúť niektoré súbory do nej.

Niekoľko tipov, ktorému stojí za to počúvať:

  • Často výbor: Nebudete môcť vrátiť zmeny, ak sa vrátite na to, čo.
  • Jedna zmena je jedným zväzovaním: Neumiestňujte všetky zmeny v jednej komite, rozdeľte ich tak, aby bolo ľahšie sa vrátiť späť.
  • Formát správy: Názov by mal byť v imperatívnom zapaľovaní, menej ako 50 znakov a mal by logicky dopĺňať frázu tohto záväzku bude ___ (tento odpor bude opraviť chyby - tento odpor bude opraviť chyby). Správa by mala vysvetliť, prečo bol spáchaný, a samotný záväzok ukazuje, čo sa zmenilo. Podrobne naplánované, ako napísať správy pre zadania.
  • (Voliteľné) Nevykonávajte menšie zmeny: Vo veľkom úložisku môže mnoho malých väzieb upchať históriu. Dobrý tón je považovaný za to, že sa také zaväzuje pri vývoji, a pri ich pridávaní do veľkého úložiska, aby sa ich spojili do jedného záväzku.

Zobrazenie zmien v histórii

Môžete použiť príkaz git log na zobrazenie histórie predchádzajúcich zadaných v reverznom chronologickom poradí. Môže prejsť rôznymi možnosťami:

  • -P ukazuje zmeny v každom COM.
  • --stat vykazuje skrátené štatistiky pre spáchanie, ako sú zmenené súbory a počet pridaných / diaľkových reťazcov v každom z nich;
  • -N n. nedávne zadania;
  • --Since \u003d ___ a -until \u003d ___ Umožňuje filtrovať sa zaväzuje v období, napríklad --since \u003d "2019-01-01" sa ukáže zaväzuje od 1. januára 2019;
  • - OPRETRY Umožňuje zadať formát protokolu (napríklad --PRETTY \u003d ONELELY), môžete tiež použiť --PRETTY \u003d formát pre väčšie prispôsobenie, napríklad --Pretty \u003d formát: "% H% S";
  • --Grep a -s filter sa zaväzuje so správami / zmenou kód, ktorý obsahuje zadaný reťazec, napríklad GIT LOG -S_NAME_NAME vám umožní zobraziť pridávanie / vymazanie funkcie;
  • - NOWN-Zlúčeniny sa spáchajú so zložkami zlúčenia;
  • veta1..Tell2 vám umožní vidieť, ktoré záväzky z pobočky 2 nie sú v pobočke 1 (užitočné pri zlúčení pobočiek). Napríklad, git log master..test ukáže, čo zaväzuje z testovacej vetvy nie sú v master (porozprávajte sa s pobočkami o niečo neskôr).
  • - Čierna vetva1 ... pobočka2 ukazuje, že sú buď v pobočke 1 alebo v pobočke 2, ale nie oboje v oboch; znamenie< обозначает коммиты из ветка1 , а > - z pobočky2. Upozornenie: Tri body sa používajú, nie dva;
  • -L prijíma argument začiatok, koniec: Súbor alebo: Súbor: Súbor a zobrazí históriu zmien prieskumu riadku alebo funkcie v súbore.

Ďalším užitočným tímom je Git Blame<файл> , ktorý pre každý súbor súborov zobrazuje autora a kontrolnú sumu posledného záväzku, ktorý zmenil tento reťazec. -L.<начало>, <конец> Umožňuje obmedziť tento príkaz na určené riadky. Toto môže byť použité napríklad, aby ste zistili, ktoré výbory viedli k konkrétnej chybe (takže sa môžete vrátiť späť).

Nakoniec je tu príkaz git grep, ktorý hľadá všetky súbory v histórii páchania (a nie len v pracovnom adresári ako grep) podľa zadaného regulárneho výrazu. OPTION -N -N Zobrazí zodpovedajúce číslo riadku v súbore pre každý zápas a --Count zobrazí počet zhody pre každý súbor.

POZNÁMKA NEPOUŽÍVAJTE GIT GIT GREP S GITT LOG -GREKU! Prvým hľadá súbory medzi spáchaním, a ten druhý sa pozerá na protokolové správy.

Vzdialené servery

Doteraz sme diskutovali o používaní gitov len na miestnom stroji. Môžeme však uložiť históriu záväzkov vzdialených archívov, ktoré možno monitorovať a aktualizovať (zvážte ich vzdialené zálohovanie záloh na nášho histórie Commit).

Príkaz GIT Remote -v zobrazuje zoznam diaľkových úložísk, ktoré sledujeme, a mená, ktoré sme privlastnili.

Pri použití príkazu git klon Nielen naložíme kópiu archívu, ale aj implicitne sledovať vzdialený server, ktorý je na zadanej adrese a ktorý je priradený pôvodný pôvod.

Najviac spotrebné príkazy:

  • git Remote Add.<имя> - pridáva diaľkové úložisko so zadaným názvom;
  • git Remote Removed.<имя> - Odstráni diaľkové úložisko so zadaným názvom;
  • git diaľkové premenovanie.<старое имя> <новое имя> - Prenajímajte diaľkové úložisko;
  • git Remote Set-URL<имя> - priradí archívu s názvom Nová adresa;
  • git Remote Show.<имя> - Zobrazí informácie o úložisku.

Nasledujúce príkazy pracujú s odstránenými vetvami:

  • git načítanie.<имя> <ветка> - prijíma údaje z vetvy zadaného archívu, ale nezlučuje zmeny;
  • git ťahať<имя> <ветка> - Zlúčenili údaje z vetvy zadaného úložiska;
  • git push.<имя> <ветка> - Odosiela zmeny na vetvu zadaného archívu. Ak miestna pobočka už sleduje diaľkové ovládanie, môžete použiť len git push alebo git ťah.

Takže niekoľko ľudí môže požiadať o zmeny zo servera, vykonať zmeny v lokálnych kópiách a potom ich pošleme na vzdialený server, ktorý vám umožní vzájomne komunikovať v rámci jedného archívu.

Pobočka

To všetko je dobré a skvelé, ak každý vývojár pracuje na projekte v rôznych časoch. Vyššie uvedené grafy vysídli len situácie so zmenou pôvodného archívu alebo miestnej kópie, ale nie dielo niekoľkých ľudí.

To nás vedie k kľúčovým znakom git-vetvenia, schopnosť pracovať na rôznych verziách projektu. To znamená, že namiesto jedného zoznamu s objednanými zaväzuje sa príbeh sa v určitých miestach rozbieha (čo ho robí podobným stromu). Každá pobočka v Git obsahuje ľahkú hlavu hlavy k poslednému páchaniu v tomto vlákne, čo vám umožní vytvoriť veľa pobočiek bez dodatočných nákladov. Tip: Zavolajte na pobočku v súlade s funkčnosťou vyvinutým v ňom. Predvolená vetva sa nazýva majster.

Takže máme všeobecný ukazovateľ Hlavu. A hlavu za každú pobočku. Spínanie medzi vetvami teda znamená len pohyb Hlavu. V hlave príslušnej vetvy.

Štandardné tímy:

  • vetva GIT.<имя ветки> - Vytvorí novú pobočku s hlavou, ktorá označuje Hlavu.. Ak neposkytujete argument<имя ветки> , tím zobrazí zoznam všetkých miestnych pobočiek;
  • git checkout<имя ветки> - Prepína na túto vetvu. Možnosť -B môžete prejsť na vytvorenie novej pobočky pred prepnutím;
  • git branch -d.<имя ветки> - Odstráni vetvu.

Ako naše miestne úložisko a diaľkové, môže mať veľa pobočiek, takže keď sledujete diaľkové úložisko, vlastne monitoroval odstránenú vetvu (Git Clone prináša svoju majstrovskú pobočku na pôvodnú / hlavnú vetvu diaľkového úložiska).

Väzba na odstránenú vetvu:

  • git branch -u.<имя удалённого репозитория>/<удалённая ветка> - viaže aktuálnu vetvu na zadanú vzdialenú vetvu;
  • git checkout --track<имя удалённого репозитория>/<удалённая ветка> - analóg predchádzajúceho príkazu;
  • git checkout -b.<ветка> <имя удалённого репозитория>/<удалённая ветка> - vytvorí novú miestnu pobočku a začne sledovať diaľkové ovládanie;
  • gIT BRANCH --VV - zobrazuje miestne a monitorované vzdialené vetvy;
  • git checkout<удалённая ветка> - Vytvorí lokálnu pobočku s rovnakým názvom ako diaľkové ovládanie a začne sledovať ho.

Všeobecne platí, že pokladňa GIT je spojená s umiestnením miesta, ktorý poukazuje na vedúceho pobočiek, ktorý vyzerá, že reset git sa pohybuje všeobecná hlava.

Hyby a čistenie

Existuje jedna jemnosť - pri prepínaní vetiev GIT vyžaduje, aby bol pracovný stav čistý, to znamená, že všetky zmeny v súboroch sledovania musia byť stanovené.

Približne. Preložiť Toto nie je tak. Za určitých okolností môže GIT automaticky prenášať nečestnú zmenu na inú pobočku.

Niekedy však máte nedokončené zmeny, ktoré nemôžu byť stanovené. V takejto situácii môžu byť uložené a "skryť" pomocou príkazu GIT STASH. Ak chcete vrátiť zmeny, použite GIT STASH.

Možno namiesto toho chcete vymazať všetky vykonané zmeny. V tomto prípade použite príkaz GIT CLEAN. Voľba -D bude tiež odstrániť nekvalifikované súbory. Tip: Pridajte možnosť -N, aby ste zistili, čo sa stane, keď začnete čistiť git bez priameho používania.

Kombinácia pobočiek

Potom, čo sme diskutovali o tom, ktoré vetvy sú a obe medzi nimi prepínajú, je čas hovoriť o tom, ako môžu byť kombinované po vývoji. Pobočka, v ktorej chceme zlúčiť zmeny, sa nazýva hlavná a pobočka, z ktorej ich budeme zlúčiť - tematické. Existujú dva spôsoby, ako vykonať zmeny z jednej pobočky na druhú: zlúčenie a pohyb.

Fúzia

Zahŕňa vytvorenie nového páchateľa, ktorý je založený na generálnom sprostredkovacom predkovi dvoch pobočiek a označuje obe hlavu ako predchádzajúce zaväzuje. Pre zlúčenie, ideme do hlavnej vetvy a použite príkaz GIT MERGE<тематическая ветка> .

Ak obe vetvy zmenia rovnakú časť súboru, vzniká konflikt konfliktu - situácia, v ktorej GIT nevie, ktorá verzia súboru, aby ušetrila, takže je potrebné riešiť konflikt osobne. Ak chcete zobraziť konfliktné súbory, použite stav GIT.

Po otvorení takýchto súborov uvidíte podobné markery rozlíšenia konfliktov:

<<<<<<< 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\u003e Test: index.html

Nahradiť v tomto bloku Všetko na verzii, ktorú chcete odísť, a pripraviť súbor. Po vyriešení všetkých konfliktov môžete použiť GIT, aby ste dokončili zlúčenie.

Pohybovať sa

Namiesto kombinácie dvoch pobočiek výboru pre fúziu, sa pohybujú výbory tematickej pobočky vo forme súboru nových výborov základnej pobočky, ktorá sa naleje do čistejšej histórie zaväzujúcich.

Príkaz Git Rebolase sa používa na pohyb<основная ветка> <тематическая ветка> ktorý reprodukuje zmeny tematickej pobočky na hlavnom; Vedúci tematická pobočka označuje posledný reprodukovaný odpor.

Pohyb vs. fúzia

Po zlúčení log s príbehom môže vyzerať celkom náhodne. Na druhej strane, pohyb vám umožňuje prepísať príbeh v normálnej, konzistentnej forme.

Tak prečo potrebujete zlúčenie, ak môžete použiť celý čas? Bohužiaľ, pohyb nie je všeliek na mätúce guľatiny, pretože vysídlené zaväzuje sa skutočne líšia od originálu, hoci majú rovnaký autora, správu a zmenu.

Predstavte si scenár:

  • Vo vašej pobočke vytvoríte niekoľko spáchaní a zlúčte ich do majstrovskej vetvy.
  • Niekto iný sa rozhodne pracovať na základe vašich zadaní.
  • Rozhodnete sa presunúť svoje zadania a odoslať ich na server.
  • Keď sa niekto snaží zlúčiť svoju prácu na základe vášho počiatočného zadania, nakoniec dostaneme dva paralelné pobočky s jedným autorom, správami a zmenami, ale odlišnými zadaniami.

Preto je Rada:

Presunúť zmeny len na vašej súkromnej miestnej pobočke - nepohybujte sa zaväzuje, na ktorých závisí niekto iný.

Rollback výboru - vrátiť sa a resetovať

Podobné diskusie o tom, čo je lepšie použiť, vyskytujú sa, keď sa chcete vrátiť späť uzne. Tím Git Revert.<коммит> Vytvorí nový záväzok, zrušenie zmien, ale histórie konzervy, zatiaľ čo git reset<коммит> Presunie ukazovateľ hlavy tým, že poskytuje čistejšiu históriu (ako keby sa tento odpor nikdy nestal). Je dôležité poznamenať, že to tiež znamená, že už nebudete späť k týmto zmenám, napríklad, ak sa ešte rozhodnete, že zrušenie záväzku bolo zbytočné. Čistič - neznamená to lepšie!

Zhrnúť

V tomto štádiu máte takmer všetko, čo potrebujete pracovať s GIT. Nižšie je niekoľko (voliteľných) pokročilých tipov pre väčšiu kontrolu nad zadaním a históriou. Okrem toho, potom sme náhodne ovplyvňujú github - jednu z najznámejších platforiem pracujúcich s GIT, ktorý môže byť pre vás užitočný.

Github.

GitHub je platforma, ktorá ukladá úložisko GIT na jeho viacerých serveroch. Ako užívateľ GitHub môžete uložiť diaľkové archívy na svojich serveroch, ako aj prispieť k iným úložisku Open-Source. GitHub dopĺňa použitie git s niektorými novými funkciami.

Môžete napríklad vytvoriť diaľkové úložisko vidlice, to znamená vytvoriť svoju kópiu úložiska na severe githubu. To je užitočné v prípadoch, keď nemáte právo vytvoriť pobočku v pôvodnom archíve. Keď používate príkaz GIT Clone, vaše miestne úložisko sleduje vzdialený formulár ako pôvod a pôvodný úložisko ako upstream.

Potom možno budete musieť vypustiť tematickú vetvu vášho diaľkového úložiska v hlavnej vetve originálu. Aby ste to mohli urobiť, môžete vytvoriť novú požiadavku na vytiahnutie - žiadosť o vykonanie zmien, kde GitHub kontroluje prítomnosť konfliktov predtým, ako budete predstavovať zlúčenie. Často existujú ďalšie kontroly pred zlúčením, ako je napríklad prezeranie a schvaľovanie kódu alebo dokonca spustiť testy. V dotaze môžete diskutovať o kódexe a všetky spásy, ktoré vám posielate do diaľkovej tematickej vetvy, sa automaticky pridajú do žiadosti, aj keď bolo vytvorené predtým, ako sa tieto zaväzuje.

Rozšírené použitie: Interaktívna príprava

Môžete ľahko spravovať oblasť pripravených súborov (napríklad pri upevnení niekoľkých malých zadaných bodov namiesto jedného veľkého) pomocou interaktívnej konzoly, ktorú môže byť spustený git pridať -I. 8 tímov v ňom k dispozícii:

  • stav - zobrazuje stručný popis pre každý súbor, ktorý (nie) pripravený;
  • aktualizácia - pripravuje súbory sledovania;
  • revert - Odstráňte jeden alebo viac súborov z pripravenej plochy;
  • pridajte netradičné - pripravuje nekvalifikovaný súbor;
  • patch - pripravuje len časť súboru (užitočná, keď ste napríklad zmenili niekoľko funkcií, ale chcete rozbiť zmeny niekoľkých zadaní). Po výbere súboru sa vám zobrazí fragmenty a prezentované možné príkazy: etapa tohto kusu? . Môžem zadať? zistiť, čo robí každý tím;
  • dIFF - zobrazuje zoznam pripravených súborov a umožňuje zobraziť zmeny pre každého z nich;
  • quit - vychádza z interaktívnej konzoly;
  • pomocník - zobrazuje stručný opis každého tímu.

Symbol * vedľa súboru znamená, že príkaz zmení svoj stav (pripravený / nepripravené v závislosti od toho, či nastane aktualizácia alebo prevrátenie). Ak stlačíte tlačidlo ENTER bez zadania čohokoľvek v ktoromkoľvek z príkazového menu, potom všetky súbory sa prepnú (NO) pripravený stav.

Upozorňujeme, že vytvorenie záplat (príprava iba časti súboru) je k dispozícii nielen v interaktívnej konzole, ale aj prostredníctvom príkazu GITD Add -p.

Rozšírené použitie: História pravidiel

Pre väčšiu kontrolu nad históriou patectva miestneho pobočky môžete použiť príkaz GIT Rebase -i Head ~ n. ktorý otvorí interaktívnu konzolu na premiestnenie sady druhej n. Zaväzuje sa v poradí od starého do nových (to znamená, že v poradí, v akom sa budú presunúť). Takže môžete "upraviť históriu", pamätať si však, že pôvodný zaväzuje sa nemožno zmeniť, len na pohyb.

Rozsudok sa môžete zmeniť zmenou poradia, v akom sú uvedené.

ZMENA ZAPOJENIA COMPOTNOSTI / PREDAJ

Ak chcete určiť výbor, ktorý chcete zmeniť, použije sa príkaz EDIT. Potom, keď sa git pohybuje, prestane sa na tomto com. Potom môžete použiť GIT COMPONEY -AMEND na zmenu správy alebo pripraviť zabudnuté súbory. Ak chcete rozdeliť uzná, po zastavení, zadajte hlavu GIT reset ^ (v dôsledku hlavy, bude sa presunúť na jeden spáchať späť a všetky súbory zmenené v tomto pásku sa prepnú na stav nepripravený). Potom môžete súbory opraviť v obvyklom spôsobe.

Po dokončení editácie zadajte git rebrase - concontinue.

Prepísanie niekoľkých záväzkov

Niekedy možno budete musieť prepísať niekoľko zadaných - v takýchto prípadoch môžete použiť GIT Filter-Branch. Ak chcete napríklad odstrániť náhodne nahraný súbor, môžete zadať git filter-vetva -tree-filter "git rm -f<имя файла>"Hlava. Zvážte však, že celý príbeh sa pohybuje.

Kombinácia niekoľkých zadaní

Pri práci na novej funkcii v projekte môžete postupne zaznamenať aj najmenšie zmeny v tematickej pobočke. Avšak, kvôli tomu, história je upchatá takýmito malými spáchaniami, ktoré môžu odporučiť pravidlám projektu. To môže byť opravené kombináciou niekoľkých zadaných na jeden veľký. Ak to chcete urobiť, najprv použite príkaz PICK na výber prvého páchania, a potom squash pre nasledujúce. Git uplatní všetky zmeny v jednom začatí a požiadajte vás, aby ste upravili správu generálneho spáchať.

Prenos samostatného uznávania

Okrem zlúčenia / pohybu všetkých zaväzujúcich sa v tematickej pobočke, môžete mať záujem len o určitý záväzok. Predpokladajme, že máte lokálne návrhy pobočky, kde pracujete na viacerých potenciálnych článkoch, ale chcete publikovať len jeden z nich. Ak to chcete urobiť, môžete použiť príkaz GIT Cherry-Pick. Ak chcete získať určité zaväzujúce, z ktorých si chceme vybrať, môžete použiť git log<основная ветка>..<тематическая> .

Upozorňujeme, že týmto spôsobom je vytvorený nový záväzok, ktorý opakuje len rozdiel z vybraného záväzku (to znamená, že rozdiel medzi týmto pádom a predchádzajúcim), ale nie jeho podmienkou.

Záver

Tak sme preskúmali základné pojmy git. Tento článok môžete použiť ako stručná referenčná kniha a môžete si prečítať knihu "PRO GIT", ktorá je oveľa viac (~ 450 strán) a popisuje git hlbšie.

Chcete kopať hlbšie do git, ale máte malé (alebo naopak, veľa) jednej veľkej knihy? Potom by ste sa mali pozrieť na naše.

Konfrontácia zmien - hlavnou črtou osoby. Ak v čase, keď ste začali pracovať s riadiacimi systémami verzií, nebolo žiadne git - je to veľmi pravdepodobné, že ste začali so subverziou. Často ľudia hovoria, že git je príliš komplikovaný pre začiatočníkov. Napriek tomu vám dovolím, aby som s tebou nesúhlasím.

V tomto článku vám poviem, ako používať git v práci s vašimi projektmi. Predpokladáme, že vytvoríte projekt od nuly a chcete použiť GIT ako systém riadenia verzie. Po prečítaní hlavných príkazov budeme čítať, ako môžete položiť svoj kód na Github.

Tento článok bude hovoriť o základných veciach - ako inicializovať projekt, ako spravovať nové a existujúce súbory a ako uložiť kód v oblaku. Znížime niektoré zložité veci, ako je vetvenie, pretože článok je orientovaný na začiatočníkov.

Inštalácia git.

Na oficiálnych stránkach GIT je na rôznych systémoch - Linux, Mac, Windows. V našom prípade budeme používať Ubuntu 13.04 a GIT budeme inštalovaný pomocou apt-get.

Sudo apt-get nainštalovať git

Počiatočná konfigurácia

Vytvorte adresár, v ktorom budeme pracovať. Môžete tiež použiť git na prácu s existujúcim projektom av tomto prípade nebudete vytvárať demonštračný adresár, ako je popísané nižšie.

Mkdir my_git_project cd my_git_project

V prvom rade je potrebné inicializovať úložisko GIT v adresári projektu. Môžete to urobiť podľa príkazu Init, ktorý vytvorí adresár.git so všetkými informáciami o vašom projekte.

Git config --global user.name "Shauumik" git config -global user.email " [Chránené e-mail]"Git config -global color.UI" AUTO "

Stojí za zmienku, že ak nešpecifikujete svoju adresu a názov, predvolené hodnoty sa použijú namiesto toho. V našom prípade budú predvolené hodnoty Donny a [Chránené e-mail]

Farba rozhrania tiež nastavíme na automatickú hodnotu, takže výstup príkazov GIT bude farba. Pridáme --global prefix na tieto príkazy tak, aby sa tieto hodnoty používali v celom systéme a nebolo potrebné ich nastaviť pre každý individuálny projekt.

Príprava súborov

Ďalším krokom vytvoríme niekoľko súborov. Na tento účel môžete použiť ľubovoľný textový editor. Všimnite si, že ak inicializujete git v existujúcom projekte, nemusíte tento krok vykonať.

Skontrolujte stav úložiska

Teraz, keď existujú súbory vo vašom projekte, uvidíme, ako sa s nimi odvoláva Git. Ak chcete skontrolovať aktuálny stav úložiska, použite príkaz status GIT.

Pridajte súbory do git

V tomto štádiu GIT nesleduje jeden z našich súborov. Je potrebné špecificky pridať súbory do git, aby sa to stalo. Ak to chcete urobiť, použite príkaz pridať.

Git pridať my_file.

Po skontrolovaní stavu úložiska vidíme, že jeden zo súborov už bol pridaný k nemu.

Ak chcete pridať viacero súborov, používame nasledovné (Všimnite si, že sme pridali prvý súbor skôr, takže pridáme len zostávajúce dva).

Git pridať myfile2 myfile3

Môžete použiť git pridať rekurzívne, ale buďte opatrní s týmto príkazom. Existujú niektoré súbory (napríklad kompilované programy), ktoré by sa nemali pridať do systému riadenia verzií. Ak používate git pridať rekurzívne, takéto súbory tiež spadajú do úložiska.

Vymazať súbory

Predstavte si, že ste náhodou pridali súbor do úložiska, čo sa tam nemá dostať. Alebo chcete odstrániť akýkoľvek súbor z riadiaceho systému verzie. Všeobecne platí, že príkaz GIT RM jednoducho neodstráni súbor z úložiska, ale aj fyzicky ho odstráni z disku. Na zastavenie GITT Sledovanie súboru, ale zostal na disku, použite nasledujúci príkaz:

Git rm -cached [názov súboru]

KOMMIMIMAČNÉ ZMENY

Akonáhle ste pridali všetky potrebné súbory, môžete ich komentovať (opraviť) v GIT. Predstavte si, že záväzok je snímkou \u200b\u200bstavu projektu v určitom štádiu, ku ktorému sa môžete kedykoľvek vrátiť, a vidieť stav projektu v tom čase. S každým výborom je správa spojená s tým, že argument je nastavený po predpony -m

Git commit -m "môj prvý záväzok"

Zadajte správu, ktorá bude obsahovať užitočné informácie, pretože pomáhajú pochopiť, čo sa zmenilo v tomto pásku. Vyhnite sa niektorým spoločným správam, ako sú "pravidlá chýb." Ak máte tracker Bug, môžete zadať typ správy "Bug # 123". Dobrá prax - uveďte názov pobočky alebo zlepšenie. Napríklad, "Management Asset - pridala možnosť generovať PDF na základe aktív" - jasnú a zrozumiteľnú správu.

Git určuje, že uzneľovanie jedla s dlhým hexadecimálnym číslom. Zvyčajne nie je potrebné kopírovať celú líniu, prvé 5-6 znakov dostatočné na identifikáciu konkrétneho záväzku. Na screenshot je možné vidieť, že naša varianta je identifikovaná číslom 8DD76FC.

Ďalej zaväzuje

Poďme zmeniť viacero súborov potom, čo sme ich zaslúžili. Potom, čo sme ich zmenili, stav GIT bude nahlásiť, že sme zmenili súbory.

Môžete vidieť, čo sa zmenilo v týchto súboroch od predchádzajúceho páchania, pomocou príkazu GIT Diff. Ak chcete zobraziť zmeny pre konkrétny súbor, môžete použiť git diff<файл> .

Je potrebné indexovať zmeny a spustiť ich. Všetky modifikované súbory projektu môžu byť pridané do nasledujúceho príkazu na spáchať:

Tento príkaz sa môžete vyhnúť, ak pridáte parameter do Git Commit. Tento príkaz indexuje všetky modifikované súbory a commium. Ale tento prístup môže byť dosť nebezpečný, takže omylom môžete spomaliť skutočnosť, že som nechcel. Povedzme napríklad, že ste súbor otvorili a náhodne ho zmenili. Pri indexovaní modifikovaných súborov budete informovaní o zmenách v každom súbore. Ale ak pošlete všetky modifikované súbory bez toho, aby ste sa pozreli na pomoc. Git Counter -A, potom všetky súbory budú spáchané, vrátane tých, ktoré sa zaväzujete, že ste chceli.

Akonáhle ste indexovali súbory, môžete pokračovať do páchateľa. Ako už bolo spomenuté, môžete zadať správu k páchaniu pomocou klávesu -M. Môžete však tiež špecifikovať viac-line komentáre pomocou príkazu GIT COMP COMPORT, ktorý otvorí editor konzoly zadať komentár.

Riadenie problémov

Ak chcete zobraziť históriu projektu, môžete použiť nasledujúci príkaz:

Zobrazí sa históriu úplného histórie vo forme zoznamu angažovanosti a informácií o nich. Informácie o záväzku obsahuje Hash Commit, Autor, Time a Commutation Správa. Existuje mnoho typov git log tímov, ktoré sa budú musieť zoznámiť v prípade používania rozvetvenia v GIT. Ak chcete zobraziť podrobnosti o konkrétnom páde a upravené súbory, spustite nasledujúci príkaz:

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

kde<хеш_коммита> - HEX číslo spojené s odporom. Keďže táto príručka je určená pre začiatočníkov, nebudeme zvážiť, ako vrátiť štát v čase konkrétneho záväzku, alebo ako kontrolovať pobočky.