Slovenčina

GIT — Git

GIT Repozitár Git sa prehliada ako priečinok: zmenené súbory, vetvy, história.

Otvoriť repozitár

Tlačidlo GIT na lište skočí na obľúbený projekt; jeho pravé tlačidlo dáva zoznam: známe repozitáre, „Commit“, „História…“, vetvy, „Stash…“ a „Odložené zmeny“, „Značky…“, „Vzdialené repozitáre“. Priečinok na disku, ktorý ešte nie je repozitárom, tam ponúka „Klonovať sem repozitár…“. Projekty sa pridávajú samy vstupom do nich a projekt, ktorého priečinok zmizol, sa zabudne — okrem prípadu, keď chýba jeho disk, pretože odpojený kľúč nič nezabúda.

Stav priečinka

Každý riadok nesie svoju farbu: v konflikte, nesledovaný, zmenený, pripravený, ignorovaný. Súbor popisuje git na dvoch osiach — index a pracovná kópia — a riadok nemá ako ukázať obe: o farbe rozhoduje to, čo ešte treba urobiť. Navigačná cesta hovorí o aktuálnej vetve.

Pripraviť a odovzdať commit

„Commit“ otvorí zobrazenie zmien: jeden súbor na riadok, stĺpec Sledovaný hovorí, čo o ňom git vie. Riadky sa vyberajú ako všade inde — kliknutie, Ctrl+kliknutie, Shift+kliknutie —, správa sa píše dole a Commit odíde s tým, čo je vybrané. Nič nevybrané, nič neodíde: tlačidlo to hovorí.

Tlačidlo Nesledované v lište commitu skryje, čo git nesleduje: priečinok plný jednorazových súborov už nezahltí tie dva, ktoré chcete commitnúť, a Ctrl+A ich už nevezme so sebou. Odškrtnuté ukáže, koľko ich skrýva.

Zobrazenie zmien repozitára: tri súbory, ich stav sledovania a lišta commitu dole.
Zmeny repozitára a lišta commitu: správa, čo je vybrané a tlačidlo.

Zobraziť rozdiely

„Zobraziť rozdiely“ otvorí diff blok po bloku medzi pracovnou kópiou, indexom (pripravený) a commitom — pred a po sú tam pomenované. Binárny súbor to len oznámi, namiesto aby ukazoval šum.

Gestá

Vetvy a história

Vytvoriť vetvu, prepnúť sa na ňu, zlúčiť — položka nesie názov vetvy a odpovedá nie je čo zlučovať: už je aktuálne alebo zlučovanie zastavené: niektoré súbory sú v konflikte. „História…“ vypíše commity: ich krátky odtlačok, predmet, autora, dátum. Ľavý bočný pruh kreslí graf, každý riadok na svojom mieste, a zlúčenie ťahá čiaru k susednému stĺpcu. Dvojité kliknutie otvorí podrobnosti commitu: jeho celú správu a súbory, ktorých sa dotkol.

História repozitára: štyri commity, ich predmet, autor a graf vetiev v bočnom pruhu.
História a jej graf v bočnom pruhu: dve vetvy vychádzajúce z toho istého koreňa a zlúčenie, ktoré ich spája.

Strom merge requestov

Strom merge requestov… v ponuke tlačidla GIT vykreslí otvorené MR projektu GitLab, na ktorý ukazuje vzdialený repozitár. Každý stojí pod vetvou, z ktorej vychádza, odsadený o jeden krok ako obsah: etapa hovorí, v akom poradí ich schvaľovať, a kliknutie na kartu otvorí MR v prehliadači.

Strom merge requestov repozitára: main, jeho odsadené MR a reťazec troch MR odvodených jeden od druhého
!31 vzišiel z !28 a !35 z !31: každý stojí pod tým, ktorého commity nesie, s „po“ a „cieľ main“. Tlačidlo vpravo urobí checkout vetvy; začiarknutie označuje main, kde ste.

Výmena so vzdialeným repozitárom

„Pull“ a „Push“, s počtom commitov v hre vedľa popisu — nula sa nepíše. Vetva, ktorá na druhej strane ešte neexistuje, odíde spolu so svojím nadradeným odkazom. Vzdialené repozitáre sa zadávajú a odoberajú z toho istého menu. Keď server žiada overenie, Meneaufile ho vyžiada tiež, namiesto aby zostal zablokovaný bez slova.

Odložiť

„Stash…“ odloží rozpracovanú prácu bez commitu, s nepovinným popisom; „Odložené zmeny“ — Odložená práca — vypíše, čo čaká, a odtiaľ sa pokračuje alebo zahadzuje. „Značky…“ ich rovnako pridáva a odoberá.

Kto napísal tento riadok

„Anotácie“ v menu súboru pripíšu každý riadok jeho commitu a autorovi. Je to otázka, ktorú si človek kladie pred prekvapivým riadkom, a zoznam commitov na ňu neodpovie.

Konflikty

Súbor v konflikte sa otvorí na svojich verziách: spoločná verzia, naša, ich a výsledok, ktorý sa vytvára. „Vziať všetko“ prevezme celú jednu stranu, „Vyriešiť“ uloží — a súbor opustí kategóriu v konflikte.

Klonovať

Z priečinka: adresa (https://… alebo git@host:org/repo.git), názov priečinka, ktorý sa vytvorí, a úplná alebo plytká história — posledných N commitov.

Bundly

Súbor .bundle je repozitár Git zabalený do jediného súboru: stačí na to, aby sa projekt dal odniesť na USB kľúči alebo niekomu odovzdať, bez servera. Dvojité kliknutie ukáže, čo obsahuje — jeho vetvy, jeho značky — a Klonovať sem… z neho urobí bežný repozitár, hneď vedľa neho, bez siete. V repozitári Vytvoriť bundle… v ponuke GIT zabalí celý repozitár do priečinka v druhom zobrazení.

Keď git chýba

Meneaufile volá git systému. Ak chýba alebo nie je v PATH, povie to, namiesto aby zlyhal bez dôvodu.

Príručka Meneaufile, v slovenčine.