Hvað er GitHub? Útgáfustýring fyrir fólk sem er ekki forritarar
GitHub er vefsíða sem geymir kóða hugbúnaðarverkefna ásamt allri sögu þeirra, svo þú getir séð hverja breytingu, afturkallað mistök og unnið að sama verkefni með öðru fólki. Hún byggir á Git, ókeypis hugbúnaði sem skráir skyndimyndir af skrám verkefnis yfir tíma. Git er verkfærið sem heldur sögunni; GitHub er netheimilið þar sem sagan er deild, afrituð og rædd.
Ef þú smíðar með gervigreind snýst GitHub aðallega um tvennt: að eiga afrit af kóðanum utan verkfærisins sem þú smíðaðir hann í, og að afhenda forritara hann á sniði sem hann vinnur þegar með.
Af hverju þetta skiptir máli þegar þú smíðar með gervigreind
Smíðatól með gervigreind skrifar og breytir miklu magni af kóða hratt, og ekki er sérhver breyting til bóta. Útgáfustýring er leiðin til að halda því öruggu.
- Afturkallaðu með öryggi. Sérhver vistuð breyting er skyndimynd. Ef gervigreindin brýtur eitthvað ferðu aftur á síðustu góðu útgáfuna.
- Eignarhald. Kóði á þínum eigin GitHub-reikningi er áfram þinn ef þú skiptir um verkfæri, hættir að borga fyrir eitt þeirra eða vilt aðra skoðun.
- Samvinna við forritara. Næstum allir forritarar nota Git daglega. Geymsla gerir þeim kleift að yfirfara það sem gervigreindin skrifaði, laga það og skila breytingum til baka.
- Birting annars staðar. Margir hýsingarvettvangar geta birt beint úr GitHub-geymslu.
Hliðstæða úr daglegu lífi: rakning breytinga og sameiginlegt drif
Hugsaðu þér skjal með rakningu breytinga (e. track changes) kveikta, geymt á sameiginlegu drifi.
- Git er rakning breytinga: sérhver breyting er skráð, ásamt því hver gerði hana, hvenær og af hvaða ástæðu, og þú getur farið aftur í hvaða útgáfu sem er.
- GitHub er sameiginlega drifið: skjalið býr á netinu, aðrir geta fengið afrit og þar er staður til að athuga og samþykkja.
- Grein (e. branch) er eins og að vista afrit sem heitir „drög — nýr verðkafli“, svo þú getir prófað án þess að snerta útgáfuna sem allir treysta á. Ef tilraunin virkar sameinarðu hana aftur.
Munurinn frá skjali er stærðin. App er hundruð skráa og Git rekur þær allar saman, þannig að skyndimynd er staða alls verkefnisins í einu.
Git- og GitHub-hugtök sem þú rekst á
| Hugtak | Einföld merking |
|---|---|
| Repository (repo) | Verkefnamappa með allri sinni sögu |
| Commit | Vistuð skyndimynd af breytingum, með stuttri lýsingu |
| Branch | Aðskilin vinnulína, svo tilraunir raski ekki aðalútgáfunni |
| main | Venjulegt heiti á aðalgreininni, útgáfunni sem fer í loftið |
| Merge | Að færa breytingar úr einni grein yfir í aðra |
| Merge conflict | Tvær breytingar snertu sömu línurnar; einhver þarf að velja hvora á að halda |
| Clone | Sækja fullt afrit af geymslu, þar með talda sögu hennar |
| Push / pull | Senda commit upp á GitHub / sækja commit annarra niður |
| Pull request (PR) | GitHub-síða sem leggur til sameiningu greinar, þar sem fólk yfirfer og ræðir breytingarnar |
| Fork | Þitt eigið afrit af geymslu einhvers annars á GitHub |
| Issue | Verkefni eða villutilkynning sem fylgir geymslunni |
.gitignore | Listi yfir skrár sem Git á aldrei að skrá, til dæmis .env-leyndarmál og niðurhalað viðbótarefni |
| GitHub Actions | Sjálfvirkni sem keyrir á GitHub, til dæmis prófanir á hverri pull request |
Tvennt er þess virði að undirstrika. Í fyrsta lagi er Git-sagan varanleg af hönnun: ef lykilorð er skráð og sent upp, eyðir síðari commit því ekki úr sögunni. Í öðru lagi er commit ekki betri en lýsingin sem fylgir henni. „Lagaði tvöfalda bókun þegar tveir bóka í einu“ hjálpar þér seinna; „uppfærsla“ gerir það ekki.
Dæmi: að afhenda app sem gervigreind smíðaði frílansara
Þú hefur smíðað viðskiptavinagátt með smíðatóli fyrir gervigreind. Hún virkar, en þú vilt að frílans-forritari bæti við erfiðri tengingu við bókhaldskerfið þitt.
- Tengdu verkefnið við nýja einkageymslu á GitHub og sendu það upp (push). Geymslan geymir nú kóðann og söguna hans.
- Athugaðu hvað er í henni. Opnaðu geymsluna á GitHub. Þar ætti hvorki að vera
.env-skrá né API-lyklar í kóðanum. Leyndarmál eiga heima í stillingum vettvangsins og eru deild með forritaranum sérstaklega, ef þau eru deild yfirhöfuð. Sjá umhverfisbreytur og leyndarmál. - Bjóddu forritaranum sem meðlim í þessari einu geymslu.
- Hann vinnur á grein sem heitir eitthvað eins og
accounting-sync, vistar commit jafnóðum og opnar pull request þegar hann er búinn. - Þú yfirferð pull request-ið. Jafnvel án þess að lesa kóðann geturðu lesið lýsinguna, séð hvaða skrár breyttust og spurt spurninga í athugasemdum.
- Sameinaðu þegar þú ert sáttur og sæktu (pull) breytingarnar aftur í smíðatólið, svo þú og gervigreindin haldið áfram frá nýju útgáfunni.
Á leiðinni geturðu séð nákvæmlega hvað breyttist og afturkallað það ef þörf krefur. Í því felst allt gildi útgáfustýringar í einu vinnuflæði. Ef þú ert enn að velta fyrir þér hvort þú þurfir forritara yfirhöfuð, sjá ráða forritara eða smíða með gervigreind.
Algeng mistök og ranghugmyndir
- „GitHub og Git eru sama hluturinn.“ Git virkar án GitHub; aðrar þjónustur eins og GitLab og Bitbucket hýsa líka Git-geymslur.
- „GitHub mun keyra appið mitt.“ GitHub geymir kóða. Að keyra hann fyrir almenning er vefhýsing, sérstök þjónusta, þótt sumir hýsingaraðilar birti beint frá GitHub.
- Að skrá leyndarmál. Algengustu og skaðlegustu mistökin. Notaðu
.gitignorefyrir.env-skrár og skiptu um alla lykla sem hafa nokkurn tíma verið sendir upp. - Ein grein og engin skilaboð. Í lagi fyrir tilraunir ein/n, en gefðu commit skýr skilaboð og notaðu greinar fyrir allt áhættusamt.
- Breyta á tveimur stöðum í einu. Ef þú breytir kóða bæði á GitHub og í smíðatólinu án þess að sækja á milli, skapast árekstrar. Veldu einn stað í einu og samstilltu áður en þú skiptir.
- Halda að einkageymsla sé öryggisafrit af öllu. Hún geymir kóða, ekki efni gagnagrunnsins eða innsendar skrár. Það þarf sín eigin öryggisafrit.
Hvað á að biðja gervigreindarsmiðinn um
- „Bættu við
.gitignoresem útilokar.env, möppur fyrir viðbótarefni og úttak byggingar.“ - „Skrifaðu README sem útskýrir hvernig á að setja upp, hvaða umhverfisbreytur þarf (aðeins heiti) og hvernig á að keyra appið.“
- „Bættu við
.env.examplemeð öllum heitum breyta og engum raungildum.“ - „Notaðu skýrar, lýsandi commit-lýsingar fyrir hverja breytingu.“
Þessar fjórar beiðnir búa til geymslu sem forritari getur tekið við á nokkrum mínútum. Til að flytja appið á þína eigin netþjóna, sjá hvernig þú flytur út og hýsir sjálf/ur app sem gervigreind smíðaði, og til að herða það fyrir raunverulega notendur, að taka gervigreindar-frumgerð í framleiðslu.
GitHub og Mythex
Mythex geymir söguna fyrir þig á öllum áætlunum: eftir hverja vel heppnaða umferð gervigreindarinnar vistar það gátpunkt (e. checkpoint), sem er Git-skyndimynd sem þú getur snúið aftur til. Á Pro geturðu tengt GitHub og sent (push) eða sótt (pull) verkefnið gagnvart þinni eigin geymslu, eða sótt allt verkefnið sem safnskrá (archive). Leyndarmál og uppsett viðbótarefni eru undanskilin útflutningi. GitHub er hér til að samstilla kóða, ekki til innskráningar í Mythex. Sjá GitHub, útflutningur og innflutningur í skjölunum, og verðsíðuna um það sem hver áætlun inniheldur.
Spurningar
Hver er munurinn á Git og GitHub?
Git er ókeypis hugbúnaður sem skráir sögu skráa verkefnis á hvaða tölvu sem er. GitHub er vefsíða, í eigu Microsoft, sem hýsir Git-geymslur á netinu og bætir við samvinnutólum eins og pull requests, issues og sjálfvirkni.
Þarf ég GitHub til að smíða app með gervigreind?
Nei. Mörg smíðatól fyrir öpp með gervigreind halda sögunni fyrir þig inni í vörunni. GitHub verður gagnlegt þegar þú vilt eigið afrit af kóðanum, vilt vinna með forritara eða ætlar að hýsa appið annars staðar.
Er GitHub ókeypis?
GitHub er með ókeypis áætlun sem inniheldur bæði opinberar og einkageymslur, og það nægir flestum einstaklingum og litlum teymum. Greiddar áætlanir bæta við stjórnun teyma og aukaeiginleikum; skoðaðu verðsíðu GitHub til að sjá núverandi upplýsingar.
Er kóðinn minn opinber á GitHub?
Aðeins ef þú gerir geymsluna opinbera. Einkageymslur sjást aðeins þér og því fólki sem þú bíður. Jafnvel í einkageymslu skaltu aldrei skrá lykilorð eða API-lykla.