Mi az a GitHub? Verziókezelés nem fejlesztőknek
A GitHub egy weboldal, amely szoftverprojektek kódját tárolja a teljes előzményeivel együtt, így láthatod minden változtatást, visszavonhatod a hibákat, és másokkal együtt dolgozhatsz ugyanazon a projekten. A Git nevű, ingyenes szoftverre épül, amely időben egymás után rögzíti a projekt fájljainak pillanatképeit. A Git az a eszköz, amely megőrzi az előzményeket; a GitHub az online otthon, ahol ez az előzmény megosztható, biztonsági másolatot kap és megbeszélhető.
Ha AI-val építesz, a GitHub főleg két dologra szolgál: saját másolat tartására a kódodból azon az eszközön kívül, amelyben építetted, és átadására egy fejlesztőnek abban a formában, amelyben ők már dolgoznak.
Miért fontos AI-val építve
Az AI-alkalmazásépítő gyorsan rengeteg kódot ír és módosít, és nem minden változtatás javítás. A verziókezelés az, ami ezt biztonságossá teszi.
- Magabiztos visszavonás. Minden mentett változtatás egy pillanatkép. Ha az AI elrontott valamit, visszaállsz az utolsó jó verzióhoz.
- Tulajdonjog. A saját GitHub-fiókodban lévő kód a tiéd marad, ha másik eszközre váltasz, abbahagyod egy eszköz fizetését, vagy második véleményre van szükséged.
- Együttműködés fejlesztőkkel. Szinte minden fejlesztő naponta használja a Gitet. A tároló lehetővé teszi, hogy áttekintsék, amit az AI írt, javítsák, és visszaküldjék a változtatásokat.
- Telepítés máshova. Sok tárhelyszolgáltató közvetlenül egy GitHub-tárolóból tud telepíteni.
Hétköznapi hasonlat: követett módosítások plusz megosztott meghajtó
Gondolj egy dokumentumra, amelyben be van kapcsolva a módosítások követése, és egy megosztott meghajtón tárolják.
- A Git a módosítások követése: minden szerkesztés rögzítésre kerül, azzal együtt, hogy ki, mikor és miért készítette, és bármelyik verzióra visszaállhatsz.
- A GitHub a megosztott meghajtó: a dokumentum online él, mások kaphatnak másolatot, és van hely a megjegyzésekre és a jóváhagyásra.
- Az ág (branch) olyan, mint egy másolat mentése „vázlat — új árazási rész” névvel, hogy kísérletezhess anélkül, hogy a mindenki által használt verziót érintenéd. Ha a kísérlet bevált, visszaolvasztod (merge).
A különbség a dokumentumtól a méretben van. Egy alkalmazás több száz fájlból áll, és a Git mindegyiket együtt követi, így egy pillanatkép a teljes projekt állapota egyszerre.
Git- és GitHub-fogalmak, amelyekkel találkozni fogsz
| Fogalom | Egyszerű jelentés |
|---|---|
| Tároló (repository, repo) | Egy projektmappa a teljes előzményeivel |
| Commit | A változtatások mentett pillanatképe, rövid leírással |
| Ág (branch) | Külön munkavonal, hogy a kísérletek ne zavarják a fő verziót |
| main | A főágnak szokásos neve — az a verzió, amely éles lesz |
| Merge (egyesítés) | Egy ág változtatásainak átvitele egy másik ágba |
| Merge-ütközés | Két változtatás ugyanazokat a sorokat érintette; valakinek el kell döntenie, melyiket tartja meg |
| Clone (klónozás) | A tároló teljes másolatának letöltése, előzményekkel együtt |
| Push / pull | A commitjaid feltöltése a GitHubra / mások commitjainak letöltése |
| Pull request (PR) | Egy GitHub-oldal, amely egy ág egyesítését javasolja; itt az emberek átnézik és megbeszélik a változtatásokat |
| Fork | Valaki más tárolójának saját másolata a GitHubon |
| Issue | A tárolóhoz csatolt GitHub-os teendő vagy hibabejelentés |
.gitignore | Azoknak a fájloknak a listája, amelyeket a Git soha nem rögzít, például a .env titkos fájlt és a letöltött függőségeket |
| GitHub Actions | A GitHubon futó automatizálás, például tesztek minden pull requestnél |
Két pontot érdemes aláhúzni. Először: a Git-előzmények tervezetten maradandók; ha egy jelszót commitoltak és feltöltöttek, egy későbbi commitban való törlése nem távolítja el az előzményekből. Másodszor: egy commit csak annyit ér, mint az üzenete. A „Dupla foglalás javítása, ha két ember egyszerre foglal” később hasznos; a „frissítés” nem.
Példa: AI-val épített alkalmazás átadása szabadúszó fejlesztőnek
Az AI-alkalmazásépítővel készítettél egy ügyfélportált. Működik, de szeretnéd, ha egy szabadúszó fejlesztő egy bonyolult integrációt építene be a számlázási szoftvereddel.
- Kösd a projektet egy új, privát GitHub-tárolóhoz, és töltsd fel. A tároló ekkor tartalmazza a kódot és az előzményeit.
- Nézd meg, mi került bele. Nyisd meg a tárolót a GitHubon. Nem szabad benne lennie
.envfájlnak és API-kulcsoknak a kódban. A titkok a platformod beállításaiban maradnak, és ha egyáltalán, külön adod át a szabadúszónak — lásd a környezeti változók és titkok részt. - Hívd meg a szabadúszót együttműködőként, de csak erre a tárolóra.
- Ő egy ágon dolgozik, például
szamlazas-szinkronnéven, közben commitol, és amikor kész, pull requestet nyit. - Te átnézed a pull requestet. Még kódolvasás nélkül is elolvashatod a leírást, megnézheted, mely fájlok változtak, és kérdéseket tehetsz a megjegyzésekben.
- Egyesítsd (merge), ha elégedett vagy, majd húzd (pull) vissza a változtatásokat az építőeszközbe, hogy te és az AI az új verzióval folytathassátok.
Az út során pontosan látod, mi változott, és szükség esetén visszavonhatod. Ez a verziókezelés teljes haszna egy munkafolyamatban. Ha még azon gondolkodsz, hogy bevonsz-e fejlesztőt egyáltalán, lásd a fejlesztő felvétele vagy építés AI-val részt.
Gyakori hibák és tévhitek
- „A GitHub és a Git ugyanaz.” A Git GitHub nélkül is működik; más szolgáltatások, például a GitLab és a Bitbucket is tárolnak Git-tárolókat.
- „A GitHub futtatja az alkalmazásomat.” A GitHub a kódot tárolja. Az alkalmazás nyilvános futtatása a webtárhely feladata, ez külön szolgáltatás (bár egyes tárhelyszolgáltatók a GitHubról is tudnak telepíteni).
- Titkok commitolása. A legkárosabb és leggyakoribb hiba. Használj
.gitignore-t a.envfájlokhoz, és cseréld le azonnal azt a kulcsot, amelyet valaha feltöltöttek. - Csak egy ág és nincs üzenet. Egyéni kísérletekhez rendben van, de adj a commitoknak világos üzenetet, és kockázatos munkához használj ágat.
- Egyszerre két helyen szerkesztés. Ha a kódot a GitHubon és az AI-építőben is módosítod anélkül, hogy közben húznál, ütközések keletkeznek. Egyszerre csak egy helyen szerkessz, és váltás előtt szinkronizálj.
- Azt hinni, hogy a privát tároló mindenből biztonsági másolat. Kódot tartalmaz, nem az adatbázisod tartalmát vagy a feltöltött fájljaidat. Ezeknek külön biztonsági mentés kell.
Mit kérj az AI-építődtől
- „Adj hozzá
.gitignore-t, amely kizárja a.envfájlt, a függőségi mappákat és a build-kimenetet.” - „Írj README-t, amely elmagyarázza a telepítést, a szükséges környezeti változókat (csak a neveket) és az alkalmazás futtatását.”
- „Adj hozzá
.env.examplefájlt, amely minden változónevet tartalmaz valódi értékek nélkül.” - „Minden változtatáshoz használj világos, leíró commit-üzeneteket.”
Ezt a négy kérést olyan tárolóvá alakítja, amelyet egy fejlesztő percek alatt át tud venni. Az alkalmazás saját szervereidre költöztetéséhez lásd a hogyan exportálj és üzemeltess saját szerveren egy AI-val épített alkalmazást részt, a valódi felhasználók előtti megerősítéshez pedig a AI-prototípus éles környezetbe vitele oldalt.
A GitHub és a Mythex
A Mythex minden csomagban megőrzi helyetted az előzményeket: minden sikeres ügynöki kör után mentést készít, amely egy Git-pillanatkép, és arra vissza lehet állni. A Pro csomagban csatlakoztathatod a GitHubot, és a projektet a saját tárolódhoz képest feltöltheted vagy letöltheted, vagy letöltheted a teljes projektet archívumként; a titkok és a telepített függőségek kimaradnak az exportokból. Itt a GitHub a kód szinkronizálására szolgál, nem a Mythexbe való bejelentkezésre. Lásd a GitHub, export és import részt a dokumentációban, és az árazási oldalt, hogy melyik csomag mit tartalmaz.
Kérdések
Mi a különbség a Git és a GitHub között?
A Git ingyenes szoftver, amely bármelyik számítógépen rögzíti egy projekt fájljainak előzményeit. A GitHub egy weboldal, amelyet a Microsoft birtokol, és amely online tárolja a Git-tárolókat, valamint együttműködési eszközöket kínál, például pull requesteket, issue-kat és automatizálást.
Szükségem van GitHubra ahhoz, hogy AI-val alkalmazást építsek?
Nem. Sok AI-alkalmazásépítő a termékén belül őrzi meg helyetted az előzményeket. A GitHub akkor válik hasznossá, ha saját másolatot szeretnél a kódról, fejlesztővel szeretnél dolgozni, vagy az alkalmazást máshol tervezed üzemeltetni.
Ingyenes a GitHub?
A GitHubnak van ingyenes csomagja, amely nyilvános és privát tárolókat is tartalmaz. Ez a legtöbb egyéni felhasználónak és kis csapatnak elegendő. A fizetős csomagok csapatkezelést és további funkciókat adnak; a jelenlegi részleteket a GitHub árazási oldalán találod.
Nyilvános a kódom a GitHubon?
Csak akkor, ha a tárolót nyilvánossá teszed. A privát tárolókat csak te és a meghívott személyek láthatják. Még privát tárolóban sem szabad jelszavakat vagy API-kulcsokat commitolni.