Verzování pomocí Gitu

GIT je nástroj na rychlé a “snadné” verzování téměř jakýchkoliv dokumentů a sdílení těchto změn mezi lidmi.
Nejběžněji se užívá mezi programátory a pokud ho vaši dodavatelé nepoužívají, může to být zárodek problémů.

Základy GITu nejsou složité, běžně vám stačí cca 5 příkazů, ale pro komplikovanější scénáře sou k dispozici příkazy, které vám dokáží zamotat hlavu. Pro GIT existuje i řada programů, kde s ním můžete pracovat i mimo příkazovou řádku.

Pokud byste se s GITem chtěli naučit, tak existuje interaktivní hra, která vás provede základy.: https://ohmygit.org/

Pro ty složitější scénáře, pak třeba tento seznam příkazů s jejich využitím: https://ohshitgit.com/

Poznámka: Ačkoliv se to nezdá, tak GIT není zkratka, je to prostě jméno.

Používáte GIT? Máte nějaké tipy jak s ním efektivně pracovat?

2 Likes

Zasadni milniky mezi zacatecnikem v gitu a good enough vidim po filozoficke strance ve vybudovani mentalniho modelu:

moje branch je muj osobni pracovni space => delam si tam, co chci/potrebuju. Vidim u hodne lidi, ze berou praci s commity nad vlastni branchi relativne vazne a maji tak na jednu stranu moc zbytecneho mikro-rozhodovani behem prace a na druhou stranu nevyuzivaji potencial na ukor nejakeho “delam to podobne jako ostatni”. Napriklad u deleni prace na commity a nasledne prace s nimi pri interactive rebasu.

A na urovni hard-skill efektivni prace s rebase -i => Spravne nastaveni otevreni rebasu v IDE, kvalitni pluginy (jako GitLens), co obrousi ostre hrany. Ve chvili, kdy se clovek neboji dat po rebasu force push, tak je ve spravne hard-skill rovine.

Do vetsi hloubky asi neni potreba jit, i kdyz ta nora je temer nekonecna.

2 Likes

Používám (a miluju) Git v rámci programování, ale vlastně ho zřídka vídám v jiném než programovacím kontextu. Používáte ho někdo běžně i na něco jiného než „programátorské věci“?

My v něm teda vlastně máme všechny texty našich novin. Mám z toho dobrý pocit kvůli verzování – cokoliv, co s těmi zhruba 1800 články udělám, je v případě potřeby vratné :slight_smile: Pár takových změn napříč všemi texty jsem z příkazové řádky dělal a bylo super vědět, že nemůžu nic rozbít. Ale to je trochu speciální případ, protože lidi z redakce s Gitem prakticky nepříchází do styku a vlastně ho používáme jen jako „databázi“. Což je podle mě v kombinaci s nějakým dobrým CMS (Martin mě onehdy upozornil na Tinu) velmi zajímavá varianta.

1 Like

Dřív jsme Git měly s brněnskými PyLadies jako součást našeho začátečnického kurzu, kdy jsme holky v rámci Pythonu seznamovaly mimo jiné i s nástroji, které se jim mohou v rámci SW vývoje hodit.
Nějakou dobu zpět jsme Git z osnov vyčlenily bokem, děláme na to samostatné celodenní workshopy. Tady pri ukázku materiály k jednomu z nich, který proběhl v rámci OpenAltu 2019:
https://naucse.python.cz/2019/gitworking-openalt/

3 Likes

Pro začátečníky bych místo příkazů doporučil spíš free toolek SourceTree.
Ještě bych vypíchl rozšíření Git LFS pro verzování velkých binárních souborů.
V roku v ruce s verzovacími systémy pak stojí za zmínku koncept Pull Requestů, kdy integraci feature větví do hlavní větve lze provázat se schvalovacím workflow.
Velkým tématem je pak CI/CD, kdy každý commit může spustit kaskádu akcí (testy, vybuildění binárek, zabalení do instalátoru, deployment do storages, generování notifikací).
Git používáme i pro dokumentaci. Commit message obsahující specifické klíčové slovo spustí generování výstupů (HTML+PDF), následně se spustí schvalovací workflow a po úspěšném schválení jsou dokumenty vypublikovány na různá místa, včetně online portálu.

3 Likes