Vodiči

Šta je GitHub? Kontrola verzija za one koji nisu programeri

GitHub je veb sajt na kojem se čuva kod softverskih projekata zajedno sa celom njihovom istorijom, pa možete da vidite svaku izmenu, poništite greške i radite na istom projektu sa drugim ljudima. Zasnovan je na Git-u, besplatnom softveru koji beleži snimke fajlova projekta tokom vremena. Git je alat koji čuva istoriju; GitHub je onlajn mesto na kojem se ta istorija deli, čuva u rezervnoj kopiji i o njoj raspravlja.

Ako pravite aplikacije uz AI, GitHub služi uglavnom za dve stvari: posedovanje kopije koda van alata u kojem ste ga napravili i predaju programeru u formatu koji on već koristi.

Zašto je važan kada pravite aplikacije uz AI

AI alat za pravljenje aplikacija brzo piše i menja mnogo koda, a nije svaka izmena poboljšanje. Kontrola verzija je način da to bezbedno držite pod kontrolom.

  • Poništavanje bez straha. Svaka sačuvana izmena je snimak. Ako AI nešto pokvari, vraćate se na poslednju dobru verziju.
  • Vlasništvo. Kod na vašem GitHub nalogu ostaje vaš ako promenite alat, prestanete da plaćate jedan alat ili želite drugo mišljenje.
  • Rad sa programerima. Gotovo svaki programer svakodnevno koristi Git. Repozitorijum im omogućava da pregledaju ono što je AI napisao, isprave to i vrate izmene.
  • Postavljanje na drugo mesto. Mnoge platforme za hostovanje mogu da postave aplikaciju direktno iz GitHub repozitorijuma.

Svakodnevna analogija: praćenje izmena plus deljeni disk

Zamislite dokument sa uključenim praćenjem izmena, sačuvan na deljenom disku.

  • Git je praćenje izmena: svaka izmena se beleži, sa podatkom ko ju je napravio, kada i zašto, i možete da se vratite na bilo koju verziju.
  • GitHub je deljeni disk: dokument živi na mreži, drugi mogu da dobiju kopiju, i postoji mesto za komentare i odobravanje.
  • Grana je kao sačuvana kopija pod nazivom „nacrt — novi odeljak o cenama“, da biste mogli da eksperimentišete a da ne diralate verziju na kojoj svi zavise. Ako eksperiment uspe, spajate ga nazad.

Razlika u odnosu na dokument je obim. Aplikacija ima stotine fajlova, a Git ih prati zajedno, pa je snimak stanje celog projekta odjednom.

Git i GitHub pojmovi koje ćete sresti

PojamJednostavno značenje
Repozitorijum (repo)Fascikla projekta sa celom istorijom
CommitSačuvan snimak izmena, sa kratkom porukom koja ih opisuje
Grana (branch)Zasebna linija rada, da eksperimenti ne poremete glavnu verziju
mainUobičajen naziv glavne grane, verzije koja ide u produkciju
MergePrenošenje izmena iz jedne grane u drugu
Konflikt pri spajanjuDve izmene su dirale iste redove, pa neko mora da izabere koju da zadrži
ClonePreuzimanje pune kopije repozitorijuma, sa istorijom
Push / pullSlanje vaših commit-ova na GitHub / preuzimanje tuđih commit-ova
Pull request (PR)GitHub stranica koja predlaže spajanje grane, gde ljudi pregledaju i raspravljaju o izmenama
ForkVaša kopija tuđeg repozitorijuma na GitHub-u
IssueGitHub zadatak ili prijava greške vezana za repozitorijum
.gitignoreSpisak fajlova koje Git nikada ne sme da beleži, kao što su .env tajne i preuzete zavisnosti
GitHub ActionsAutomatizacija koja se izvršava na GitHub-u, na primer testovi pri svakom pull request-u

Dve stvari treba podvući. Prvo, Git istorija je po dizajnu trajna: ako se lozinka commit-uje i pošalje, brisanje u kasnijem commit-u je ne uklanja iz istorije. Drugo, commit je koristan koliko i njegova poruka. „Ispravljeno dvostruko brojanje rezervacija kad dvoje ljudi rezervišu u isto vreme“ vam kasnije pomaže; „ažuriranje“ ne pomaže.

Radni primer: predaja aplikacije napravljene uz AI frilenseru

Napravili ste portal za klijente uz AI alat za aplikacije. Radi, ali želite da frilenser programer doda zahtevnu integraciju sa vašim softverom za računovodstvo.

  1. Povežite projekat sa novim privatnim GitHub repozitorijumom i pošaljite ga. Repozitorijum sada sadrži kod i njegovu istoriju.
  2. Proverite šta je u njemu. Otvorite repozitorijum na GitHub-u. Ne bi trebalo da postoji .env fajl niti API ključevi u kodu. Tajne ostaju u podešavanjima vaše platforme i sa frilenserom se dele posebno, ako uopšte. Pogledajte promenljive okruženja i tajne.
  3. Pozovite frilensera kao saradnika samo na taj repozitorijum.
  4. On radi na grani pod nazivom poput accounting-sync, commit-uje dok radi i otvara pull request kada završi.
  5. Vi pregledate pull request. Čak i bez čitanja koda, možete da pročitate opis, proverite koji su fajlovi promenjeni i postavite pitanja u komentarima.
  6. Spojite kada ste zadovoljni, pa povucite (pull) izmene nazad u svoj alat za pravljenje aplikacija, da vi i AI nastavite od nove verzije.

Usput vidite tačno šta se promenilo i možete to da poništite ako treba. U tome je cela vrednost kontrole verzija u jednom toku rada. Ako razmišljate da li uopšte da angažujete programera, pogledajte angažovati programera ili praviti uz AI.

Česte greške i zablude

  • „GitHub i Git su ista stvar.“ Git radi i bez GitHub-a; alternative kao što su GitLab i Bitbucket takođe hostuju Git repozitorijume.
  • „GitHub će pokrenuti moju aplikaciju.“ GitHub čuva kod. Pokretanje za javnost je veb hosting, posebna usluga (iako neki hosting servisi postavljaju aplikacije direktno iz GitHub-a).
  • Commit-ovanje tajni. Najštetnija i najčešća greška. Koristite .gitignore za .env fajlove, a svaki ključ koji je ikada poslat treba zameniti.
  • Samo jedna grana i bez poruka. Dovoljno za samostalne eksperimente, ali dajte commit-ovima jasne poruke i koristite grane za sve rizično.
  • Uređivanje na dva mesta istovremeno. Ako menjate kod na GitHub-u i u AI alatu bez povlačenja izmena između, stvarate konflikte. Izaberite jedno mesto za izmene i uskladite ih pre nego što pređete na drugo.
  • Verovanje da je privatni repozitorijum rezervna kopija svega. On čuva kod, a ne sadržaj baze podataka niti otpremljene fajlove. Njima treba zasebna rezervna kopija.

Šta tražiti od AI alata za aplikacije

  • „Dodaj .gitignore koji isključuje .env, fascikle sa zavisnostima i izlaz build-a.“
  • „Napiši README koji objašnjava kako se instalira, koje su promenljive okruženja potrebne (samo nazivi) i kako se aplikacija pokreće.“
  • „Dodaj .env.example sa svakim nazivom promenljive i bez stvarnih vrednosti.“
  • „Koristi jasne, opisne poruke commit-ova za svaku izmenu.“

Ova četiri zahteva prave repozitorijum koji programer može da preuzme za nekoliko minuta. Za premeštanje aplikacije na sopstvene servere pogledajte kako izvesti i samostalno hostovati aplikaciju napravljenu uz AI, a za učvršćivanje pre prvih pravih korisnika kako prototip sa AI dovesti u produkciju.

GitHub i Mythex

Mythex čuva istoriju za vas na svakom planu: posle svakog uspešnog zadatka agenta pravi checkpoint, odnosno Git snimak na koji se možete vratiti. Na Pro planu možete da povežete GitHub i gurnete ili povučete projekat u svoj repozitorijum, ili preuzmete ceo projekat kao arhivu; tajne i instalirane zavisnosti su isključene iz izvoza. GitHub ovde služi za sinhronizaciju koda, a ne za prijavu u Mythex. Pogledajte GitHub, izvoz i uvoz u dokumentaciji i stranicu sa cenama za to šta svaki plan uključuje.

Pitanja

Koja je razlika između Git-a i GitHub-a?

Git je besplatan softver koji beleži istoriju fajlova projekta na bilo kom računaru. GitHub je veb sajt, u vlasništvu kompanije Microsoft, koji hostuje Git repozitorijume na mreži i dodaje alate za saradnju, kao što su pull request-ovi, issue-i i automatizacija.

Da li mi je potreban GitHub da bih pravio aplikaciju uz AI?

Ne. Mnogi AI alati za pravljenje aplikacija čuvaju istoriju za vas unutar samog proizvoda. GitHub postaje koristan kada želite sopstvenu kopiju koda, kada želite da sarađujete sa programerom ili kada planirate da aplikaciju hostujete negde drugde.

Da li je GitHub besplatan?

GitHub ima besplatan plan koji uključuje javne i privatne repozitorijume, što je dovoljno za većinu pojedinaca i malih timova. Plaćeni planovi donose upravljanje timom i dodatne funkcije. Aktuelne detalje proverite na GitHub-ovoj stranici sa cenama.

Da li je moj kod javan na GitHub-u?

Samo ako repozitorijum učinite javnim. Privatne repozitorijume vide samo vi i osobe koje pozovete. Čak ni u privatnom repozitorijumu nikada ne commit-ujte lozinke ni API ključeve.

Mythex · Pricing · Pravite bilo šta uz AI · Šabloni za sajtove i aplikacije · Mythex u poređenju · Rečnik pojmova za pravljenje aplikacija uz AI · Besplatni alati za pravljenje aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)