Čeština

GIT – Git

GIT Repozitář Git se prochází jako složka: změněné soubory, větve, historie.

Otevření repozitáře

Tlačítko GIT v liště skočí na oblíbený projekt; jeho pravé tlačítko dává seznam: známé repozitáře, „Commit“, „Historie…“, větve, „Stash…“ a „Odložené změny“, „Značky…“, „Vzdálené repozitáře“. Složka na disku, která ještě není repozitářem, tam nabízí „Klonovat sem repozitář…“. Projekty se přidávají samy vstupem do nich a projekt, jehož složka zmizela, se zapomene – kromě případu, kdy chybí jeho disk: odpojený flash disk nic zapomenout nenutí.

Stav složky

Každý řádek nese svou barvu: v konfliktu, nesledované, změněné, připravené, ignorované. Git popisuje soubor na dvou osách – index a pracovní kopie – a řádek nemá dost místa ukázat obě: o barvě rozhoduje to, co je ještě třeba udělat. Drobečková navigace říká aktuální větev.

Připravit a commitovat

„Commit“ otevře zobrazení změn: jeden soubor na řádek, sloupec Sledován říká, co o něm git ví. Řádky se označují jako všude jinde – kliknutím, Ctrl+kliknutím, Shift+kliknutím –, dole se napíše zpráva a Commit odešle to, co je vybráno. Nic vybráno, nic neodejde: tlačítko to říká.

Tlačítko Nesledované v liště commitu skryje, co git nesleduje: složka plná jednorázových souborů už nezahltí ty dva, které chcete commitnout, a Ctrl+A je už nevezme s sebou. Odškrtnuté ukáže, kolik jich skrývá.

Zobrazení změn repozitáře: tři soubory, jejich stav sledování a lišta commitu dole.
Změny repozitáře a lišta commitu: zpráva, co je vybráno a tlačítko.

Zobrazit rozdíly

„Zobrazit rozdíly“ otevře diff blok po bloku mezi pracovní kopií, indexem (připravené) a commitem – před a po jsou v něm pojmenovány. Binární soubor to raději řekne, než aby ukazoval změť znaků.

Úkony

Větve a historie

Vytvořit větev, přepnout na ni, sloučit – položka nese název větve a odpovídá není co sloučit: již aktuální nebo sloučení přerušeno: soubory jsou v konfliktu. „Historie…“ vypíše commity: jejich krátký otisk, předmět, autora a datum. Levý okraj kreslí graf, každý řádek na své čáře, a sloučení vede svou čáru k sousednímu sloupci. Dvojklik otevře podrobnosti commitu: jeho celou zprávu a soubory, kterých se dotkl.

Historie repozitáře: čtyři commity, jejich předmět, autor a graf větví v okraji.
Historie a její graf v okraji: dvě větve vycházející ze stejného kořene a sloučení, které je spojuje.

Strom merge requestů

Strom merge requestů… v nabídce tlačítka GIT vykreslí otevřené MR projektu GitLab, na který ukazuje vzdálený repozitář. Každý stojí pod větví, ze které vychází, odsazený o jeden krok jako obsah: etapa říká, v jakém pořadí je schvalovat, a kliknutí na kartu otevře MR v prohlížeči.

Strom merge requestů repozitáře: main, jeho odsazené MR a řetězec tří MR odvozených jeden od druhého
!31 vzešel z !28 a !35 z !31: každý stojí pod tím, jehož commity nese, s „po“ a „cíl main“. Tlačítko vpravo provede checkout větve; zatržítko označuje main, kde jste.

Výměna se vzdáleným repozitářem

„Pull (stáhnout)“ a „Push (odeslat)“, s počtem dotčených commitů vedle popisku – nula se nepíše. Větev, která na druhé straně ještě neexistuje, odchází se svým upstreamem. Vzdálené repozitáře se zadávají a odebírají ze stejného menu. Když server žádá o ověření, Meneaufile se zeptá také, místo aby mlčky uvázl.

Odložit stranou

„Stash…“ uloží rozdělanou práci bez commitu, s nepovinným popisem; „Odložené změny“ – Odložená práce – vypíše, co čeká, a odtud se pokračuje nebo zahazuje. „Značky…“ je stejně vytváří i odebírá.

Kdo napsal tento řádek

„Anotace“ v menu souboru přiřadí každý řádek jeho commitu a autorovi. Je to otázka, kterou si člověk klade nad překvapivým řádkem, a seznam commitů na ni neodpoví.

Konflikty

Soubor v konfliktu se otevře na svých verzích: společná verze, naše, jejich a výsledek, který sestavujete. „Vzít vše“ přelije celou jednu stranu, „Vyřešit“ uloží – a soubor opustí kategorii v konfliktu.

Klonování

Ze složky: adresa (https://… nebo git@host:org/depot.git), název složky, která se vytvoří, a úplná nebo mělká historie – posledních N commitů.

Bundly

Soubor .bundle je repozitář Git zabalený do jediného souboru: stačí, abyste si projekt odnesli na flash disku nebo ho někomu předali, bez serveru. Dvojklik ukáže, co nese – jeho větve, jeho značky – a Klonovat sem… z něj udělá běžný repozitář, hned vedle něj, bez sítě. V repozitáři Vytvořit bundle… v nabídce GIT zabalí celý repozitář do složky v druhém zobrazení.

Když git chybí

Meneaufile volá systémový příkaz git. Když chybí nebo není v PATH, řekne to, místo aby bez důvodu selhal.

Manuál Meneaufile, v češtině.