Kako koristiti Git sa aplikacijom napravljenom uz AI
Da biste koristili Git sa aplikacijom napravljenom uz AI, povežite projekat sa Git repozitorijumom, sačuvajte izmenu posle svake promene koja radi, napišite jednu liniju poruke o tome šta je promenjeno i držite tajne podatke van repozitorijuma pomoću .gitignore fajla. Za sve rizično koristite granu, pre sledećeg prompta povucite izmene ako je neko drugi menjao kod, a kad AI nešto pokvari, vratite se na poslednju dobru izmenu umesto da nastavite da pišete promptove preko nereda.
Git je kontrola verzija: istorija svake sačuvane verzije vašeg koda. GitHub je sajt koji čuva Git repozitorijume na internetu. Ako su vam ti pojmovi novi, počnite od šta je GitHub. Ovaj vodič govori o navikama koje Git čine korisnim kad AI piše većinu koda.
Zašto je Git važniji uz AI
AI može da promeni dvadeset fajlova u jednom potezu. To je brzo, ali znači i da jedan prompt može tiho pokvariti nešto što ste juče testirali. Git vam daje:
- Način da se vratite. Svaka sačuvana verzija može da se povrati.
- Zapis o tome šta se promenilo. Možete tačno da vidite koje fajlove i linije je prompt dotakao.
- Kopiju van alata. Vaš kod se nalazi tamo gde ga vi kontrolišete.
- Standardnu predaju posla. Svaki developer, hosting ili alat može da radi iz Git repozitorijuma.
Korak 1: Povežite repozitorijum
Napravite repozitorijum (obično privatan) na GitHub-u ili sličnom servisu i povežite projekat sa njim. Većina alata za pravljenje aplikacija koji podržavaju Git to radi preko stranice podešavanja sa dugmetom "Connect GitHub". Ako vaš alat to nema, možete izvesti kod i sami ga poslati, ili zamolite developera da to jednom podesi.
Pre prvog slanja proverite da repozitorijum ignoriše stvari koje ne treba da budu u njemu:
Proveri .gitignore fajl. Uveri se da isključuje .env fajlove, node_modules, foldere sa build izlazom i svaki fajl koji sadrži tajne podatke. Reci mi šta si dodao.
Korak 2: Sačuvajte izmenu posle svake promene koja radi
Commit je sačuvan snimak sa porukom. Navika koja je bitna: sačuvajte kad nešto radi, pre nego što tražite sledeću stvar.
- Zatražite jednu promenu.
- Proverite je u pregledu.
- Ako radi, uradite commit (ili sinhronizaciju) sa porukom.
- Onda idite dalje.
Mali commit-i znače da kad nešto pukne znate koja izmena je to uradila, a vraćanje te jedne izmene ne briše ostali rad.
Korak 3: Pišite poruke koje ćete moći kasnije da pročitate
Dobra poruka kaže šta je promenjeno i zašto, u jednom redu:
- Dobro:
Dodaj CSV izvoz na stranicu porudžbina - Dobro:
Popravi da forma za rezervaciju odbija termine posle 18h - Nije korisno:
update,izmene,popravke
Možete tražiti od AI da ih napiše:
Sažmi izmene od poslednjeg commit-a u jednom redu, počni glagolom, do 70 karaktera.
Korak 4: Koristite grane za rizičan rad
Grana je posebna linija rada. Možete nešto da probate na grani i, ako ne ispadne, da je napustite bez diranja glavne verzije.
Koristite granu kad:
- je izmena velika (redizajn, novi tok plaćanja, promena baze).
- neko drugi radi na istoj aplikaciji.
- želite da neko pregleda izmenu pre nego što ode uživo.
Kad je rad završen i testiran, spaja se nazad u glavnu granu. Na GitHub-u se to obično radi preko pull request-a, stranice koja prikazuje izmene za pregled. Ako vaš alat sinhronizuje samo jednu granu, developer može da upravlja granama na GitHub strani.
Korak 5: Vraćajte bezbedno
Kad prompt pokvari aplikaciju, odolite nagonu da pošaljete još pet promptova preko toga. Vratite se na poslednju dobru verziju i probajte jasniji prompt.
- U alatu: koristite njegov checkpoint ili funkciju vraćanja, ako postoji.
- U Git-u:
git revertpravi novi commit koji poništava stari, pa istorija ostaje netaknuta. To je bezbedan izbor za kod koji su drugi možda povukli. - Izbegavajte
git push --forcena zajedničkoj grani, osim ako tačno znate zašto. Prepisuje istoriju za sve.
Ako niste sigurni, pitajte:
Poslednja izmena je pokvarila stranicu za prijavu. Pokaži mi koje fajlove je promenila u odnosu na prethodni commit i objasni šta je svaka izmena radila. Još ništa ne menjaj.
Korak 6: Povucite izmene pre prompta
Ako developer ili drugi alat promeni kod na GitHub-u, AI alat to ne zna dok te izmene ne povučete (pull). Prompt nad starim kodom izaziva konflikte i gubitak rada.
- Povucite izmene na početku svake sesije.
- Dogovorite ko šta menja i izbegavajte da obe strane menjaju iste fajlove u isto vreme.
- Ako dobijete merge konflikt (dve izmene istih linija), zamolite developera ili AI da ga razreši i objasni izbor.
Primeri promptova
Pre nego što počnemo: šta se promenilo u repozitorijumu od moje poslednje sesije? Sažmi commit-e.
Uradi sledeću promenu samostalno: dodaj dugme "Duplicate" uz svaki račun. Ništa drugo ne menjaj, da bih mogao to posebno da commit-ujem.
Proveri da li su API ključevi, lozinke ili .env fajlovi praćeni u Git-u, uključujući prethodne commit-e. Prijavi samo nazive fajlova, ne vrednosti.
Česte greške
- Commit-ovanje tajni podataka. Kad je ključ jednom u Git istoriji, izložen je, čak i kad obrišete fajl. Zamenite ga.
- Jedan ogroman commit nedeljno. Ne možete da poništite jednu izmenu, a da ne poništite sve.
- Poruke tipa "update". Istorija postaje beskorisna za traženje onoga što je pokvarilo.
- Pisanje promptova nad zastarelim kodom. Povucite izmene kad neko drugi menja kod.
- Force push da bi ispravili grešku. Može da obriše tuđi rad. Koristite revert.
- Commit-ovanje
node_modules. Ogromno je i svakako se ponovo pravi iz lock fajla.
Kontrolna lista
- Projekat je povezan sa privatnim repozitorijumom.
-
.gitignoreisključuje.env,node_modules, build izlaz i tajne podatke. - Commit-ujem posle svake izmene koja radi.
- Poruke commit-a kažu šta je promenjeno, u jednom redu.
- Velike ili rizične izmene idu na granu i prolaze pregled.
- Povlačim izmene pre prompta kad neko drugi menja kod.
- Vraćam se preko checkpoint-a ili
git revert, a ne force push-om. - Svaki ključ koji je ikad bio commit-ovan je zamenjen.
Git na Mythex-u
Mythex čuva git checkpoint posle svakog uspešnog poteza agenta, a Revert to this point vraća projekat na tu tačku. To je vraćanje unazad na strani alata, opisano u koraku 5. Pogledajte Iterate without rebuilding.
Na Pro planu, GitHub sync povezuje repozitorijum iz podešavanja projekta, pa možete da šaljete i povlačite izmene, a export preuzima projekat bez tajnih podataka i node_modules. Pogledajte GitHub, export, and import. Povezivanje GitHub-a pre nego što projekat predate developeru čini predaju mnogo jednostavnijom. Pogledajte kako raditi sa developerom na aplikaciji napravljenoj uz AI i kako izvesti i samostalno hostovati aplikaciju napravljenu uz AI.
Pitanja
Treba li mi Git ako moj alat za pravljenje aplikacija ima checkpoint-e?
Checkpoint-i pokrivaju vraćanje unazad dok gradite. Git dodaje kopiju vašeg koda van alata, istoriju koju drugi mogu da čitaju i standardan način da developer ili drugi alat radi na istom kodu. Ako je aplikacija važna, koristite oboje.
Koliko često treba da sačuvam izmene kad gradim uz AI?
Posle svake izmene koja radi, obično posle svakog uspešnog prompta ili male grupe promptova. Mali commit-i olakšavaju da pronađete i vratite samo onu jednu izmenu koja je nešto pokvarila.
Šta nikad ne treba commit-ovati u Git?
API ključeve, lozinke, .env fajlove sa pravim vrednostima i foldere instaliranih zavisnosti, kao što je node_modules. Dodajte ih u .gitignore pre prvog commit-a, a svaki ključ koji je ikad bio commit-ovan zamenite novim.
Mogu li da menjam kod na GitHub-u i da nastavim da gradim uz AI?
Da, ako vaš alat može da povuče izmene sa GitHub-a. Pre sledećeg prompta povucite izmene, da AI radi na najnovijem kodu, i izbegavajte da obe strane menjaju iste fajlove u isto vreme.