Čo je GitHub? Verziovanie pre nevývojárov
GitHub je webová stránka, ktorá uchováva kód softvérových projektov spolu s ich úplnou históriou, takže vidíte každú zmenu, môžete vrátiť chyby späť a pracovať na rovnakom projekte s ďalšími ľuďmi. Je postavený na Gite, bezplatnom softvéri, ktorý zaznamenáva snímky súborov projektu v čase. Git uchováva históriu; GitHub je online domov, kde sa táto história zdieľa, zálohuje a prerokúva.
Ak budujete s AI, GitHub slúži hlavne na dve veci: vlastniť kópiu svojho kódu mimo nástroja, v ktorom ste ho vytvorili, a odovzdať ho vývojárovi vo formáte, s ktorým už pracuje.
Prečo je to dôležité pri tvorbe s AI
Nástroj na tvorbu aplikácií s AI napíše a zmení veľa kódu rýchlo, a nie každá zmena je zlepšením. Verziovanie je spôsob, ako to udržať v bezpečí.
- Vráťte sa späť s istotou. Každá uložená zmena je snímka. Ak AI niečo pokazí, vrátite sa k poslednej dobrej verzii.
- Vlastníctvo. Kód vo vašom účte na GitHube zostáva vaším, ak zmeníte nástroj, prestanete platiť alebo chcete druhý názor.
- Spolupráca s vývojármi. Takmer každý vývojár používa Git denne. Repozitár im umožní skontrolovať, čo AI napísala, opraviť to a poslať zmeny späť.
- Nasadenie inde. Mnohé hostingové platformy dokážu nasadiť aplikáciu priamo z GitHub repozitára.
Každodenné prirovnanie: sledované zmeny a zdieľaný disk
Predstavte si dokument so zapnutým sledovaním zmien, uložený na zdieľanom disku.
- Git sú sledované zmeny: každá úprava sa zaznamená aj s tým, kto ju urobil, kedy a prečo, a môžete sa vrátiť k ľubovoľnej verzii.
- GitHub je zdieľaný disk: dokument je online, ostatní si môžu vziať kópiu a existuje miesto na komentáre a schvaľovanie.
- Vetva je ako uloženie kópie s názvom „návrh — nová sekcia cien“, aby ste mohli experimentovať bez zásahu do verzie, na ktorej všetci spoliehajú. Ak experiment funguje, zlúčite ho späť.
Rozdiel oproti dokumentu je v rozsahu. Aplikácia má stovky súborov a Git ich sleduje všetky spolu, takže snímka predstavuje stav celého projektu naraz.
Pojmy z Gitu a GitHubu, s ktorými sa stretnete
| Pojem | Jednoduchý význam |
|---|---|
| Repozitár (repo) | Priečinok projektu s celou jeho históriou |
| Commit | Uložená snímka zmien s krátkym popisom |
| Vetva (branch) | Samostatná línia práce, aby experimenty nerušili hlavnú verziu |
| main | Obvyklý názov hlavnej vetvy — verzia, ktorá ide naživo |
| Zlúčenie (merge) | Prenesenie zmien z jednej vetvy do druhej |
| Konflikt zlúčenia | Dve zmeny upravili tie isté riadky; niekto musí vybrať, čo zostane |
| Klon (clone) | Stiahnutie úplnej kópie repozitára aj s históriou |
| Push / pull | Odoslanie vašich commitov na GitHub / stiahnutie commitov ostatných |
| Pull request (PR) | Stránka na GitHube, ktorá navrhuje zlúčiť vetvu; ľudia na nej zmeny kontrolujú a diskutujú |
| Fork | Vaša vlastná kópia cudzieho repozitára na GitHube |
| Issue | Úloha alebo hlásenie chyby priradené k repozitáru |
.gitignore | Zoznam súborov, ktoré Git nemá nikdy zaznamenať, napríklad tajné .env súbory a stiahnuté závislosti |
| GitHub Actions | Automatizácia bežiaca na GitHube, napríklad testy pri každom pull requeste |
Dve veci si treba zdôrazniť. Po prvé, história Gitu je navrhnutá ako trvalá: ak sa heslo commitne a pushne, jeho zmazanie v neskoršom commite ho z histórie neodstráni. Po druhé, commit je taký užitočný, aká je jeho správa. Správa „Oprava dvojitého rezervovania, keď rezervujú dvaja ľudia naraz“ pomôže neskôr; správa „update“ nie.
Ukážkový príklad: odovzdanie aplikácie vytvorenej s AI externistovi
Vytvorili ste klientsky portál pomocou nástroja na tvorbu aplikácií s AI. Funguje, ale chcete, aby externý vývojár doplnil náročnú integráciu s vaším účtovným softvérom.
- Pripojte projekt k novému súkromnému repozitáru na GitHube a pushnite ho. Repozitár teraz obsahuje kód aj jeho históriu.
- Skontrolujte obsah. Otvorte repozitár na GitHube. Nemal by tam byť súbor
.envani API kľúče v kóde. Tajomstvá zostávajú v nastaveniach platformy a externistovi sa odovzdajú osobitne, ak vôbec. Pozri premenné prostredia a tajomstvá. - Pozvite externistu ako spolupracovníka iba do tohto jedného repozitára.
- Pracuje vo vetve s názvom napríklad
accounting-sync, priebežne commituje a po dokončení otvorí pull request. - Vy skontrolujete pull request. Aj bez čítania kódu môžete prečítať popis, zistiť, ktoré súbory sa zmenili, a klásť otázky v komentároch.
- Zlúčte, keď ste spokojní, a potom stiahnite (pull) zmeny späť do nástroja na tvorbu, aby ste vy aj AI pokračovali od novej verzie.
Počas celého postupu vidíte presne, čo sa zmenilo, a v prípade potreby to viete vrátiť. V tom je celá hodnota verziovania v jednom pracovnom postupe. Ak zvažujete, či vôbec zapojiť vývojára, pozri najať vývojára alebo budovať s AI.
Bežné chyby a omyly
- „GitHub a Git sú to isté.“ Git funguje aj bez GitHubu; alternatívy ako GitLab a Bitbucket tiež hostujú Git repozitáre.
- „GitHub spustí moju aplikáciu.“ GitHub ukladá kód. Spúšťanie aplikácie pre verejnosť je webhosting, čo je iná služba, hoci niektoré hostingy nasadzujú priamo z GitHubu.
- Commitovanie tajomstiev. Najškodlivejšia a najčastejšia chyba. Súbory
.envvylúčte cez.gitignorea každý kľúč, ktorý sa kedy pushol, zneplatnite a vytvorte nový. - Iba jedna vetva a žiadne správy. Pre sólo experimenty to stačí, ale commitom dajte jasné správy a pri rizikových zmenách používajte vetvy.
- Úprava na dvoch miestach naraz. Ak meníte kód na GitHube aj v nástroji na tvorbu bez synchronizácie, vzniknú konflikty. Vyberte jedno miesto na úpravy a pred prepnutím synchronizujte.
- Myslieť si, že súkromný repozitár je zálohou všetkého. Obsahuje kód, nie obsah databázy ani nahrané súbory. Tie potrebujú vlastné zálohy.
Čo požiadať od nástroja na tvorbu s AI
- „Pridaj
.gitignore, ktorý vylúči.env, priečinky závislostí a výstup zostavenia.“ - „Napíš README, ktoré vysvetlí inštaláciu, potrebné premenné prostredia (iba ich názvy) a spustenie aplikácie.“
- „Pridaj
.env.exampleso všetkými názvami premenných a bez skutočných hodnôt.“ - „Pri každej zmene používaj jasné a výstižné správy commitov.“
Tieto štyri požiadavky vytvoria repozitár, ktorý vývojár prevezme za pár minút. Pri presune aplikácie na vlastné servery pozri ako exportovať a sebahostovať aplikáciu vytvorenú s AI a pri spevnení pred reálnymi používateľmi ako dostať AI prototyp do produkcie.
GitHub a Mythex
Mythex uchováva históriu za vás pri každom pláne: po každom úspešnom kroku agenta uloží checkpoint, čo je snímka Gitu, ku ktorej sa môžete vrátiť. Na plane Pro môžete pripojiť GitHub a pushovať alebo pullovať projekt do vlastného repozitára, alebo stiahnuť celý projekt ako archív; tajomstvá a nainštalované závislosti sa z exportov vynechajú. GitHub tu slúži na synchronizáciu kódu, nie na prihlasovanie do Mythexu. Pozri GitHub, export a import v dokumentácii a cenník, kde nájdete, čo obsahuje každý plán.
Otázky
Aký je rozdiel medzi Gitom a GitHubom?
Git je bezplatný softvér, ktorý zaznamenáva históriu súborov projektu na akomkoľvek počítači. GitHub je webová stránka, ktorú vlastní Microsoft, hostuje Git repozitáre online a pridáva nástroje na spoluprácu, ako sú pull requesty, úlohy a automatizácia.
Potrebujem GitHub na vytvorenie aplikácie s AI?
Nie. Mnohé nástroje na tvorbu aplikácií s AI uchovávajú históriu za vás priamo v produkte. GitHub sa stáva užitočným, keď chcete vlastnú kópiu kódu, chcete s niekým z vývojárov spolupracovať alebo plánujete aplikáciu hostovať inde.
Je GitHub zadarmo?
GitHub má bezplatný plán, ktorý zahŕňa verejné aj súkromné repozitáre, a to stačí pre väčšinu jednotlivcov a malých tímov. Platené plány pridávajú správu tímu a ďalšie funkcie; aktuálne podrobnosti nájdete na cenovej stránke GitHubu.
Je môj kód na GitHube verejný?
Iba ak repozitár nastavíte ako verejný. Súkromné repozitáre vidíte iba vy a ľudia, ktorých pozvete. Ani v súkromnom repozitári však nikdy necommitujte heslá ani API kľúče.