Vodiči

Što je GitHub? Verzioniranje koda za one koji nisu programeri

GitHub je web stranica koja čuva kod softverskih projekata zajedno s cijelom njihovom poviješću, pa možete vidjeti svaku promjenu, poništiti greške i raditi na istom projektu s drugim ljudima. Izgrađen je na Gitu, besplatnom softveru koji bilježi snimke datoteka projekta kroz vrijeme. Git je alat koji čuva povijest; GitHub je online dom u kojem se ta povijest dijeli, sigurnosno kopira i raspravlja.

Ako gradite s AI-jem, GitHub je uglavnom o dvije stvari: vlasništvu nad kopijom koda izvan alata u kojem ste ga napravili i predaji tog koda programeru u formatu koji on već koristi.

Zašto je važan kad gradite s AI-jem

AI alat za izradu aplikacija brzo piše i mijenja mnogo koda, a nije svaka promjena poboljšanje. Verzioniranje je način da to sigurno držite pod kontrolom.

  • Poništavanje bez straha. Svaka spremljena promjena je snimka. Ako AI nešto pokvari, vratite se na zadnju dobru verziju.
  • Vlasništvo. Kod u vašem GitHub računu ostaje vaš ako promijenite alat, prestanete plaćati jedan od njih ili želite drugo mišljenje.
  • Rad s programerima. Gotovo svaki programer svakodnevno koristi Git. Repozitorij mu omogućuje da pregleda što je AI napisao, ispravi to i vrati izmjene.
  • Objava drugdje. Mnoge platforme za hosting mogu objaviti aplikaciju izravno iz GitHub repozitorija.

Svakodnevna analogija: praćenje promjena i zajednički disk

Zamislite dokument s uključenim praćenjem promjena, pohranjen na zajedničkom disku.

  • Git je praćenje promjena: svaka izmjena se bilježi, s tim tko ju je napravio, kada i zašto, i možete se vratiti na bilo koju verziju.
  • GitHub je zajednički disk: dokument živi na internetu, drugi mogu dobiti kopiju, a postoji mjesto za komentare i odobrenja.
  • Grana (branch) je kao spremanje kopije pod nazivom „nacrt — novi odjeljak s cijenama”, pa možete eksperimentirati, a da ne dirate verziju na koju se svi oslanjaju. Ako eksperiment uspije, spojite ga natrag.

Razlika u odnosu na dokument je opseg. Aplikacija ima stotine datoteka, a Git ih prati sve zajedno, pa je snimka stanje cijelog projekta u isti trenutak.

Git i GitHub pojmovi s kojima ćete se susresti

PojamJednostavno značenje
Repozitorij (repo)Mapa projekta s cijelom poviješću
CommitSpremljena snimka promjena s kratkom porukom koja ih opisuje
Grana (branch)Zasebna linija rada, pa eksperimenti ne ometaju glavnu verziju
mainUobičajeni naziv glavne grane, verzija koja ide u produkciju
Merge (spajanje)Prijenos promjena iz jedne grane u drugu
Konflikt pri spajanjuDvije promjene diraju iste retke, pa netko mora odabrati što zadržati
Clone (kloniranje)Preuzimanje cijele kopije repozitorija, s poviješću
Push / pullSlanje vaših commitova na GitHub / preuzimanje tuđih commitova
Pull request (PR)GitHub stranica koja predlaže spajanje grane; ljudi pregledavaju i raspravljaju promjene
ForkVaša kopija tuđeg repozitorija na GitHubu
IssueGitHub zadatak ili prijava greške vezana uz repozitorij
.gitignorePopis datoteka koje Git nikada ne smije bilježiti, kao što su .env tajne i preuzete ovisnosti
GitHub ActionsAutomatizacija koja se izvodi na GitHubu, na primjer testovi na svakom pull requestu

Dvije stvari vrijedi naglasiti. Prvo, Gitova povijest je po dizajnu trajna: ako je lozinka commitana i poslana na GitHub, brisanje u kasnijem commitu je ne uklanja iz povijesti. Drugo, commit je koristan samo koliko i njegova poruka. „Ispravi dvostruko knjiženje rezervacije kad dvoje ljudi rezerviraju istovremeno” pomaže kasnije; „ažuriranje” ne pomaže.

Radni primjer: predaja aplikacije izrađene s AI-jem freelanceru

Izradili ste portal za klijente s alatom za izradu aplikacija uz pomoć AI-ja. Radi, ali želite da freelance programer doda zahtjevnu integraciju s vašim računovodstvenim softverom.

  1. Povežite projekt s novim privatnim GitHub repozitorijem i pošaljite kod. Repozitorij sada sadrži kod i njegovu povijest.
  2. Provjerite što je u njemu. Otvorite repozitorij na GitHubu. Ne bi trebalo biti .env datoteke ni API ključeva u kodu. Tajne ostaju u postavkama vaše platforme i s programerom se dijele zasebno, ako uopće. Pogledajte varijable okruženja i tajne.
  3. Pozovite freelancera kao suradnika samo na taj repozitorij.
  4. Radi na grani nazvanoj nešto poput racunovodstvo-sinkronizacija, commita promjene tijekom rada i otvara pull request kad završi.
  5. Vi pregledate pull request. I bez čitanja koda možete pročitati opis, provjeriti koje su datoteke promijenjene i postaviti pitanja u komentarima.
  6. Spojite kad ste zadovoljni, a zatim povucite (pull) promjene natrag u svoj alat za izradu, pa vi i AI nastavljate od nove verzije.

Usput možete vidjeti točno što se promijenilo i poništiti to ako treba. To je cijela vrijednost verzioniranja u jednom tijeku rada. Ako još razmišljate trebate li uopće angažirati programera, pogledajte angažirati programera ili graditi s AI-jem.

Česte greške i zablude

  • „GitHub i Git su isto.” Git radi bez GitHuba; alternative poput GitLaba i Bitbucketa također hostaju Git repozitorije.
  • „GitHub će pokrenuti moju aplikaciju.” GitHub čuva kod. Pokretanje za javnost je web hosting, zasebna usluga (iako neki hosting servisi mogu objavljivati direktno s GitHuba).
  • Commitanje tajni. Najštetnija i najčešća greška. Za .env datoteke koristite .gitignore, a svaki ključ koji je ikad poslan treba zamijeniti novim.
  • Samo jedna grana i bez poruka. Dovoljno za solo eksperimente, ali dajte commitovima jasne poruke i koristite grane za sve rizično.
  • Uređivanje na dva mjesta u isto vrijeme. Ako mijenjate kod na GitHubu i u AI alatu, a ne povlačite promjene između, stvarate konflikte. Odaberite jedno mjesto za uređivanje i sinkronizirajte prije promjene.
  • Misliti da je privatni repozitorij sigurnosna kopija svega. Drži kod, a ne sadržaj vaše baze podataka ni prenesene datoteke. Za njih su potrebne zasebne sigurnosne kopije.

Što tražiti od AI alata za izradu

  • „Dodaj .gitignore koji isključuje .env, mape s ovisnostima i izlaz builda.”
  • „Napiši README koji objašnjava kako instalirati, koje varijable okruženja su potrebne (samo nazivi) i kako pokrenuti aplikaciju.”
  • „Dodaj .env.example sa svim nazivima varijabli i bez stvarnih vrijednosti.”
  • „Za svaku promjenu koristi jasne, opisne poruke commitova.”

Ova četiri zahtjeva daju repozitorij koji programer može preuzeti za nekoliko minuta. Za premještanje aplikacije na vlastite servere pogledajte kako izvesti i samostalno hostati aplikaciju izrađenu s AI-jem, a za učvršćivanje prije stvarnih korisnika kako od AI prototipa doći do produkcije.

GitHub i Mythex

Mythex na svakom planu čuva povijest za vas: nakon svakog uspješnog kruga rada agenta spremi checkpoint, a to je Git snimka na koju se možete vratiti. Na Pro planu možete povezati GitHub i slati ili povlačiti projekt prema vlastitom repozitoriju, ili preuzeti cijeli projekt kao arhivu; tajne i instalirane ovisnosti isključene su iz izvoza. GitHub ovdje služi za sinkronizaciju koda, a ne za prijavu u Mythex. Pogledajte GitHub, izvoz i uvoz u dokumentaciji i stranicu s cijenama za to što ulazi u svaki plan.

Pitanja

Koja je razlika između Gita i GitHuba?

Git je besplatan softver koji na bilo kojem računalu bilježi povijest datoteka projekta. GitHub je web stranica, u vlasništvu Microsofta, koja na internetu hosta Git repozitorije i dodaje alate za suradnju, kao što su pull requestovi, issues i automatizacija.

Trebam li GitHub da napravim aplikaciju s AI-jem?

Ne. Mnogi AI alati za izradu aplikacija pohranjuju povijest unutar samog proizvoda. GitHub postaje koristan kad želite vlastitu kopiju koda, kad želite raditi s programerom ili kad planirate aplikaciju hostati negdje drugdje.

Je li GitHub besplatan?

GitHub ima besplatan plan koji uključuje javne i privatne repozitorije, što je dovoljno za većinu pojedinaca i malih timova. Plaćeni planovi dodaju upravljanje timovima i dodatne značajke; aktualne pojedinosti provjerite na GitHubovoj stranici s cijenama.

Je li moj kod javan na GitHubu?

Samo ako repozitorij učinite javnim. Privatne repozitorije vide samo vi i ljudi koje pozovete. Ni u privatnom repozitoriju nikada ne spremajte lozinke ni API ključeve.

Mythex · Pricing · Izradite bilo što uz AI · Predlošci za web stranice i aplikacije · Mythex u usporedbi · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी 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 Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)