Mis on GitHub? Versioonihaldus mittearendajatele
GitHub on veebileht, mis hoiab tarkvaraprojektide koodi koos täieliku ajalooga, nii et näed iga muudatust, saad vigu tagasi võtta ja teha teiste inimestega koostööd samal projektil. See põhineb Gitil, tasuta tarkvaral, mis salvestab projekti failide hetktõmmiseid aja jooksul. Git on tööriist, mis ajalugu hoiab; GitHub on võrgus asuv kodu, kus seda ajalugu jagatakse, varundatakse ja arutatakse.
Kui ehitad AI-ga, on GitHub peamiselt kahe asja jaoks: oma koodi koopia omamine väljaspool tööriista, millega selle ehitasid, ja andmine arendajale formaadis, mida ta juba kasutab.
Miks see AI-ga ehitamisel oluline on
AI rakenduste ehitaja kirjutab ja muudab koodi kiiresti ja palju ning mitte iga muudatus ei ole parendus. Versioonihaldus on see, kuidas seda turvaliselt hoida.
- Tagasivõtmine kindlalt. Iga salvestatud muudatus on hetktõmmis. Kui AI midagi katki teeb, lähed tagasi viimase hea versiooni juurde.
- Omandiõigus. Kood sinu enda GitHubi kontos jääb sinu omaks, kui vahetad tööriista, lõpetad selle eest maksmise või tahad teist arvamust.
- Töö arendajatega. Peaaegu iga arendaja kasutab Gitti igapäevaselt. Hoidla võimaldab neil vaadata üle, mida AI kirjutas, seda parandada ja muudatused tagasi saata.
- Juurutamine mujale. Paljud hostimisplatvormid saavad juurutada otse GitHubi hoidlast.
Igapäevane analoogia: muudatuste jälgimine ja jagatud kaust
Mõtle dokumendile, millel on sisse lülitatud muudatuste jälgimine ja mis asub jagatud kaustas.
- Git on muudatuste jälgimine: iga redigeerimine salvestatakse koos sellega, kes, millal ja miks seda tegi, ning saad tagasi minna mis tahes versioonini.
- GitHub on jagatud kaust: dokument asub võrgus, teised saavad koopia ning on koht kommenteerimiseks ja kinnitamiseks.
- Haru on nagu koopia salvestamine nimega „mustand — uus hinnalõik“, et saaksid katsetada, ilma et puutuksid versiooni, millele kõik toetuvad. Kui katse töötab, ühendad selle tagasi.
Erinevus dokumendist on mastaabis. Rakendus koosneb sadadest failidest ja Git jälgib neid kõiki koos, nii et hetktõmmis on kogu projekti seis korraga.
Git ja GitHubi terminid, millega kokku puutud
| Termin | Lihtne tähendus |
|---|---|
| Repository (repo) | Projektikaust koos täieliku ajalooga, |
| Commit | Salvestatud muudatuste hetktõmmis koos lühikese kirjeldusega |
| Branch | Eraldi töölõim, nii et katsed ei sega peamist versiooni |
| main | Põhiharu tavapärane nimi — versioon, mis läheb avalikuks |
| Merge | Ühe haru muudatuste toomine teise harusse |
| Merge conflict | Kaks muudatust puudutasid samu ridu; keegi peab valima, mida alles jätta |
| Clone | Terve hoidla koopia allalaadimine koos ajalooga |
| Push / pull | Sinu commit'ide üleslaadimine GitHubi / teiste commit'ide allalaadimine |
| Pull request (PR) | GitHubi leht, mis pakub haru ühendamist; inimesed vaatavad muudatused üle ja arutavad neid |
| Fork | Sinu enda koopia kellegi teise hoidlast GitHubis |
| Issue | GitHubi ülesanne või veateade, mis on hoidlaga seotud |
.gitignore | Failide nimekiri, mida Git ei tohi kunagi salvestada, näiteks .env saladused ja allalaaditud sõltuvused |
| GitHub Actions | GitHubis töötav automatiseerimine, näiteks testid igas pull requestis |
Kaks punkti on rõhutamist väärt. Esiteks on Giti ajalugu disainilt püsiv: kui salasõna on commit'itud ja üles laaditud, ei eemalda selle kustutamine hilisemas commit'is seda ajaloost. Teiseks on commit sama kasulik kui tema sõnum. „Paranda topeltbroneerimine, kui kaks inimest broneerivad korraga“ aitab hiljem; „uuenda“ ei aita.
Töötav näide: AI-ga ehitatud rakenduse üleandmine vabakutselisele
Oled ehitanud kliendiportaali AI rakenduste ehitajaga. See töötab, aga tahad, et vabakutseline arendaja lisaks raskema integratsiooni sinu raamatupidamistarkvaraga.
- Ühenda projekt uue privaatse GitHubi hoidlaga ja lae üles. Hoidla sisaldab nüüd koodi ja selle ajalugu.
- Kontrolli, mis seal on. Ava hoidla GitHubis. Seal ei tohiks olla
.envfaili ega API võtmeid koodis. Saladused jäävad sinu platvormi seadetesse ning jagatakse vabakutselisega eraldi, kui üldse — vt keskkonnamuutujad ja saladused. - Kutsu vabakutseline kaasautoriks ainult sellele hoidlale.
- Ta töötab harus nimega midagi sellist nagu
accounting-sync, teeb commit'e töö käigus ja avab valmimisel pull requesti. - Sina vaatad pull requesti üle. Isegi ilma koodi lugemata saad lugeda kirjeldust, vaadata, millised failid muutusid, ja esitada küsimusi kommentaarides.
- Ühenda, kui oled rahul, ja seejärel tõmba muudatused tagasi oma ehitajasse, et sina ja AI jätkaksite uuest versioonist.
Selle käigus näed täpselt, mis muutus, ja saad vajadusel tagasi võtta. Selles ongi versioonihalduse kogu väärtus ühes töövoos. Kui kaalud, kas üldse arendajat kaasata, vt palka arendaja või ehita AI-ga.
Levinud vead ja väärarusaamad
- „GitHub ja Git on sama asi.“ Git töötab ka ilma GitHubita; alternatiivid nagu GitLab ja Bitbucket hostivad samuti Giti hoidlaid.
- „GitHub käivitab mu rakenduse.“ GitHub hoiab koodi. Rakenduse käivitamine avalikkusele on veebihostimine, eraldi teenus (kuigi mõned hostid juurutavad GitHubist).
- Saladuste commit'imine. Kõige kahjulikum ja levinum viga. Kasuta
.envfailide jaoks.gitignore-i ning vaheta välja iga võti, mis on kunagi üles laetud. - Ainult üks haru ja sõnumiteta commit'id. Sobib üksi katsetamiseks, aga anna commit'idele selged sõnumid ja kasuta riskantsete muudatuste jaoks harusid.
- Muutmine kahes kohas korraga. Kui muudad koodi GitHubis ja AI ehitajas ilma vahepeal sünkroonimata, tekivad konfliktid. Vali üks koht korraga muutmiseks ja sünkrooni enne vahetamist.
- Arvamine, et privaatne hoidla on kõige varundus. See hoiab koodi, mitte sinu andmebaasi sisu ega üleslaaditud faile. Need vajavad oma varundust.
Mida AI ehitajalt paluda
- „Lisa
.gitignore, mis välistab.env, sõltuvuste kaustad ja ehitusväljundi.“ - „Kirjuta README, mis selgitab, kuidas paigaldada, millised keskkonnamuutujad on vajalikud (ainult nimed) ja kuidas rakendust käivitada.“
- „Lisa
.env.example, kus on iga muutuja nimi ilma päris väärtusteta.“ - „Kasuta iga muudatuse jaoks selgeid ja kirjeldavaid commit'i sõnumeid.“
Need neli päringut teevad hoidla, mille arendaja saab minutitega üle võtta. Rakenduse viimiseks oma serveritesse vt kuidas AI-ehitatud rakendust eksportida ja ise hostida ning enne päris kasutajaid tugevdamiseks AI prototüübi viimine tootmisse.
GitHub ja Mythex
Mythex hoiab ajalugu sinu eest igal paketil: pärast iga edukat agendi käiku salvestab see kontrollpunkti, mis on Giti hetktõmmis ja millele saad tagasi pöörduda. Pro paketis saad ühendada GitHubi ja lükata või tõmmata projekti sinu enda hoidlaga või laadida kogu projekti arhiivina alla; saladused ja paigaldatud sõltuvused jäetakse eksportidest välja. Siin on GitHub mõeldud koodi sünkroonimiseks, mitte Mythexi sisselogimiseks. Vt GitHub, eksport ja import dokumentatsioonist ning hinnalehelt, mida iga pakett sisaldab.
Küsimused
Mis vahe on Gitil ja GitHubil?
Git on tasuta tarkvara, mis salvestab projekti failide ajaloo mis tahes arvutis. GitHub on veebileht, mis kuulub Microsoftile, hostib Giti hoidlaid võrgus ning lisab koostööriistu, nagu pull requestid, probleemid ja automatiseerimine.
Kas ma vajan AI-ga rakenduse ehitamiseks GitHubi?
Ei. Paljud AI rakenduste ehitajad hoiavad ajalugu sinu eest toote sees. GitHub muutub kasulikuks, kui tahad oma koodi koopiat, soovid teha koostööd arendajaga või plaanid rakenduse hostida mujal.
Kas GitHub on tasuta?
GitHubil on tasuta pakett, mis hõlmab nii avalikke kui ka privaatseid hoidlaid ning mis enamiku üksikisikute ja väikeste meeskondade jaoks piisab. Tasulised paketid lisavad meeskonnahalduse ja täiendavaid funktsioone; praeguseid andmeid vaata GitHubi hinnalehelt.
Kas minu kood on GitHubis avalik?
Ainult siis, kui teed hoidla avalikuks. Privaatseid hoidlaid näevad ainult sina ja need inimesed, keda kutsud. Isegi privaatses hoidlas ära kunagi commit'i salasõnu ega API võtmeid.