Projekt

Obecné

Profil

Akce

GitHub

Pro předmět KIV/ZIM jsem založil na githubu vlastní projekt, který je možné nalézt na adrese https://github.com/tonda13/zcu.kiv.zim. Jsou zde uvedeny všechny podpůrné materiály (včetně prezentace).

Pro jakou cílovou skupinu je nástroj vhodný?

Github.com je v první řadě nadstavba nad verzovacím nástrojem Git, který sám o sobě je vhodný hlavně pro verzování software (tj. převážně textových souborů).
Z toho je zřejmé i nástroj Github.com je určený předně pro vývoj a správu různých softwarových projektů. Ale je možné jej využít k různým, s vývojem software nesouvisejícím potřebám, tedy i ke sdílení informací.

Jaké má základní možnosti, funkcionality?

Základní možnosti použití jsou:

  • verzovací nástroj Git
    • je možné používat i v nástrojích pro správu SVN (speciální URL)
  • issue tracker pro správu "úkolů" (obdoba systému Redmine)
  • wiki stránky
  • Github pages - jednoduché webové stránky (pouze HTML, CSS a javascript)
    • existuje webový generátor
    • nebo je možné psát ručně
    • stránky jsou umístěné v samostatné větvi
  • Gist - nástroj pro sdílení souborů, částí souborů, úseků kódu, aplikací, atp.
  • Markdown značkovací jazyk pro formátování textu, lze využít na wiki, readme, v komentářích, aj.
    • Použití Markdownu a souboru readme.md jako základního prvku pro popis projektu je vidět na Obrázku 1 bod 4
  • GitHub Desktop pro uživatele Mac OS a Windows nabízí Github desktopovou aplikaci pro pohodlnou správu projektů.
  • Existuje i aplikace pro Android (slouží hlavně pro přehled)

Github je v základní verzi pro všechny zdarma, v této bezplatné verzi jsou ovšem nějaká omezení:
1. všechny projekty jsou veřejné (tj. viditelné a stažitelné pro kohokoli)
2. projekty musí být uvolněny jako open source pod nějakou svobodnou licencí (např. MIT, Apache, GPL, atp.)

Pozn.: Github nabízí specíální balíček pro studenty (https://education.github.com/), jeho součástí je hlavně možnost získat zdarma placený plán Micro s 5 soukromými repositáři. Celý balíček obsahuje několik služeb a je nutné projít schvalovacím procesem, který může trvat až několik týdnů.

Základní pohled na repositář
Obrázek 1: Základní pohled na repozitář, bod 1 ukazuje základní možnosti zvoleného projetku: repositář, wiki, issues, setting a statistiky

Má nějaké specifické či unikátní možnosti?

Gist https://gist.github.com/

Nástroj Gist slouží pro zveřejňování částí kódu nebo souborů, skvěle využitelný například při školeních. Každý gist je vlastně jednoduchý Git repositář, se všemi jeho možnostmi (stažení, forkování, clonování, atp.), který ale na rozdíl od standardních repozitářů může být veřejný i soukromý. Soukromé gisty nejsou vyhledatelné, ale stále je možné se na ně dostat přímým zadáním URL adresy.

Ukázky:

Stažení celé aplikace jako ZIP archív

Každý repositář nebo gist je možné stáhnout jako ucelený ZIP archív, obsahující všechny soubory. V případě Git repositáře dochází ke stažení pouze aktuálně vybrané větve. (viz Obrázek 1 bod 3)

Fork

Každý repositář i gist je možné také tzv. forknout (je zde možné vidět souvislost s funkcí fork() známou z operačních systému GNU Linux nebo Unix). To znamená, že se zvolený repositář s právě vybranou větví nakopíruje do vašeho prostoru (je nutné mít vlastní účet a být přihlášený) a stane se z něj nezávislý nový repositář, který můžete spravovat stejně jako ostatní Vaše repositáře. (viz Obrázek 1 bod 2)

Jaké typy informací/znalostí se v něm dají dobře zachytit, sdílet?

Díky spojení nástrojů jako je Git repositář, issue tracker, wiki stránky a gist je možné v tomto nástroji sdílet prakticky jakékoli informace.

Osobně myslím, že pro sdílení dokumentů nebo audiovizuálních materiálů existují vhodnější služby jako například Google Drive, Dropbox nebo One Drive. Rovněž matematické nebo fyzikální texty obsahující velké množství vzorců nejsou tím pravým pro sdílení přes Github.com.

Pozn.: Nově Github začal nabízet rozhraní pro sdílení velkých binárních souborů nazvané Git LFS, které rovněž uvolnil jako open source rozšíření pro systém Git. (https://github.com/blog/2069-git-large-file-storage-v1-0)

Přidání spolupracovníků
Obrázek 2: Ukázka jak přidat jiné uživatele k Vašemu repositáři.

Jak se s ním typicky pracuje?

Nástroj pro správu verzí

Navštívíte nějaký Git repositář (nebo vytvoříte nový) se kterým chcete pracovat. V pravém sloupci se nalézá tzv. "clone URL", kterou si zkopírujete. Poté v nějakém adresáři v příkazové řádce zadáte následují příkaz (je možné využít i nějakého klienta s grafických rozhraním):

git clone https://github.com/JMENO/NAZEV_REPO

Tímto se vám celý repositář stáhne a můžete s ním začít pracovat. Po dokončení nějaké jednotky práce zase svůj kód můžete nahrát zpět do repositáře (pokud k tomu máte opravnění) a ostatní si jej budou moci stáhnout včetně všech Vašich úprav.

Issue tracker

Ve vašem repositáři (nebo v nějakém do kterého máte právo zapisovat) v pravém sloupci zvolte položku "Issues", která vás přesune do issue trackeru.
Zde již můžete vidět vytvořené záznamy a můžete si je různě filtrovat. Je možné přidat nový pomocí tlačítka "New issue".

Každý záznam má nějaký vlastní obsah, může obsahovat štítky (tzv. Labels) jako "BUG" nebo "ENHANCEMENT", může být přiřazen v tzv. Milestone (to může představovat například další iteraci, vydání nové verze či jiný důležitý milník) a může být přiřazen několika lidem, kteří na projektu spolupracují. Je možné také jednotlivé issue komentovat a vyladit tak například požadovanou funkcionalitu.

Zobrazit je možné buď úkoly (Issues) pro konkrétní projektnebo všechny úkoly (napříč všemi projekty), které jste vytvořili nebo jsou Vám přiřazeny (oba odkazy jsou vyznačeny na následující obrázku.

Pozn.: Issues musí být pro daný repositář povolené, lze tak učinit v nastavení. (viz Obrázek 5)

Ukázka úkolů
Obrázek 3: Ukázka Issues v konkrétním repositáři.

Wiki stránky

Wiki stránky používají ke svému formátování syntaxi Markdown, stejně jako ostatní služby. Wiki stránky jsou interně reprezentovány jako samostatný Git repositář, takže mohou být staženy do lokálního počítače. Po stažení do počítače, je každá stránka reprezentována jako samostatný soubor s koncovkou .md (značí použití Markdown syntaxe).

Ukázka Wiki stránky
Obrázek 3: Ukázka Wiki stránky.

Je možné jej propojit (integrovat) s dalšími nástroji?

Github nabízí REST API (https://developer.github.com/v3/) ke všem svým službám (tj. repository, gist, issue tracker). Díky jednoduchosti RESTového API je možné tento nástroj integrovat téměř do jakéhokoli systému napsaného v jakémkoli programovacím jazyce.

Ostatní

Dokumentace

K celému systému existuje poměrně kvalitní a rozsáhlá dokumentaci v angličtině (https://help.github.com/).

Nastavení

V nastavení je možné povolit k Vašemu repositáři Wiki stránky, Issue tracker a nebo Github Pages

Nastavení repositáře
Obrázek 5: Nastavení volitelných nástrojů k repositáři

POZNÁMKA KE SCREENSHOTŮM:

Při pořizování screenshotů pro účely doplnění této práce dne 25. 11. 2015 Github přešel na nový vzhled repositářů, tím pádem jsou screenshoty již z tohoto nového rozhraní.



Komentáře

P.Brada
  • stručné, hutné, užitečné informace a odkazy
  • trochu zjednodušující ("sdílet jakékoli informace" určitě není přesné) a zejména z popisu moc není jasné, jak vlastně nějaké potřeby typu sdílení znalostí či informací konkrétně v git/GitHub realizovat (třeba skupina lidí se sdílenými dokumenty, rozvedení použití Gist pro školení, ...)
  • chybí ukázky / screenshoty
  • slovo "repositář" -- používejte český termín "úložiště"
P.Brada
  • díky za doplnění ukázek :)

Aktualizováno uživatelem Premek Brada před více než 8 roky(ů) · 12 revizí