Czym jest GitHub? Kontrola wersji dla osób niebędących programistami
GitHub to strona internetowa, która przechowuje kod projektów programistycznych wraz z ich pełną historią, dzięki czemu widzisz każdą zmianę, cofasz błędy i pracujesz nad tym samym projektem z innymi osobami. Opiera się na Git, darmowym oprogramowaniu, które zapisuje migawki plików projektu w czasie. Git prowadzi historię; GitHub to internetowy dom, w którym ta historia jest udostępniana, kopiowana w bezpiecznym miejscu i omawiana.
Jeśli budujesz z AI, GitHub służy głównie do dwóch rzeczy: posiadania własnej kopii kodu poza narzędziem, w którym go stworzyłeś, oraz przekazania go programiście w formacie, z którym on już pracuje.
Dlaczego to ważne, gdy budujesz z AI
Narzędzie do budowania aplikacji z AI pisze i zmienia dużo kodu bardzo szybko, a nie każda zmiana jest ulepszeniem. Kontrola wersji pozwala to bezpiecznie kontrolować.
- Cofaj z pewnością. Każda zapisana zmiana to migawka. Jeśli AI coś zepsuje, wracasz do ostatniej dobrej wersji.
- Własność. Kod na Twoim koncie GitHub pozostaje Twój, jeśli zmienisz narzędzie, przestaniesz za nie płacić albo chcesz drugiej opinii.
- Praca z programistami. Prawie każdy programista używa Gita codziennie. Repozytorium pozwala mu przejrzeć to, co napisało AI, poprawić to i odesłać zmiany z powrotem.
- Wdrażanie gdzie indziej. Wiele platform hostingowych potrafi wdrożyć aplikację bezpośrednio z repozytorium GitHub.
Codzienna analogia: śledzenie zmian i dysk współdzielony
Wyobraź sobie dokument z włączonym śledzeniem zmian, przechowywany na dysku współdzielonym.
- Git to śledzenie zmian: każda edycja jest zapisana wraz z tym, kto ją zrobił, kiedy i dlaczego, a Ty możesz wrócić do dowolnej wersji.
- GitHub to dysk współdzielony: dokument leży online, inni mogą dostać jego kopię, a jest miejsce na komentarze i zatwierdzenia.
- Gałąź (branch) to jak zapisanie kopii o nazwie „wersja robocza — nowa sekcja cennika”, żebyś mógł eksperymentować bez ruszania wersji, na której wszyscy polegają. Jeśli eksperyment się uda, scalasz go z powrotem.
Różnica względem dokumentu to skala. Aplikacja to setki plików, a Git śledzi je wszystkie razem, więc migawka to stan całego projektu naraz.
Terminy Git i GitHub, które napotkasz
| Termin | Proste znaczenie |
|---|---|
| Repozytorium (repo) | Folder projektu z pełną historią |
| Commit | Zapisana migawka zmian z krótkim opisem |
| Gałąź (branch) | Osobny ciąg pracy, dzięki czemu eksperymenty nie przeszkadzają głównej wersji |
| main | Typowa nazwa głównej gałęzi — wersji, która trafia na żywo |
| Scalenie (merge) | Przeniesienie zmian z jednej gałęzi do innej |
| Konflikt scalania | Dwie zmiany dotknęły tych samych linii; ktoś musi wybrać, którą zachować |
| Klonowanie (clone) | Pobranie pełnej kopii repozytorium, łącznie z historią |
| Push / pull | Wysłanie swoich commitów na GitHub / pobranie cudzych commitów |
| Pull request (PR) | Strona GitHub proponująca scalenie gałęzi, na której ludzie omawiają i sprawdzają zmiany |
| Fork | Twoja własna kopia cudzego repozytorium na GitHub |
| Issue | Zadanie lub zgłoszenie błędu przypisane do repozytorium |
.gitignore | Lista plików, których Git nigdy nie powinien zapisywać, np. sekrety z .env i pobrane zależności |
| GitHub Actions | Automatyzacja działająca na GitHub, na przykład testy przy każdym pull requeście |
Dwie rzeczy warto podkreślić. Po pierwsze, historia Gita jest z założenia trwała: jeśli hasło zostanie zapisane i wysłane, usunięcie go w późniejszym commicie nie usuwa go z historii. Po drugie, commit jest tylko tak użyteczny, jak jego opis. „Napraw podwójne liczenie rezerwacji, gdy dwie osoby rezerwują jednocześnie” pomoże Ci później; „aktualizacja” nie pomoże.
Przykład krok po kroku: przekazanie aplikacji zbudowanej z AI freelancerowi
Zbudowałeś portal dla klientów narzędziem do budowania z AI. Działa, ale chcesz, żeby freelancer-programista dodał trudną integrację z Twoim oprogramowaniem księgowym.
- Podłącz projekt do nowego prywatnego repozytorium GitHub i wyślij (push). Repozytorium zawiera teraz kod i jego historię.
- Sprawdź, co w nim jest. Otwórz repozytorium na GitHub. Nie powinno tam być pliku
.envani kluczy API. Sekrety zostają w ustawieniach platformy i ewentualnie przekazujesz je freelancerowi osobno — zob. zmienne środowiskowe i sekrety. - Zaproś freelancera jako współpracownika wyłącznie do tego repozytorium.
- Pracuje on na gałęzi o nazwie w rodzaju
accounting-sync, robi commity po drodze i po zakończeniu otwiera pull request. - Ty sprawdzasz pull request. Nawet bez czytania kodu możesz przeczytać opis, zobaczyć, które pliki się zmieniły, i zadać pytania w komentarzach.
- Scal zmiany, gdy będziesz zadowolony, a potem pobierz (pull) je z powrotem do narzędzia do budowania, żebyś Ty i AI mogli dalej pracować na nowej wersji.
Po drodze widzisz dokładnie, co się zmieniło, i możesz to w razie potrzeby cofnąć. To cała wartość kontroli wersji w jednym przepływie pracy. Jeśli zastanawiasz się, czy w ogóle zatrudnić programistę, zob. zatrudnić programistę czy budować z AI.
Częste błędy i nieporozumienia
- „GitHub i Git to to samo”. Git działa bez GitHub; alternatywy, takie jak GitLab i Bitbucket, także hostują repozytoria Git.
- „GitHub uruchomi moją aplikację”. GitHub przechowuje kod. Udostępnianie aplikacji publiczności to hosting stron, osobna usługa (choć niektóre hosty wdrażają z GitHub).
- Zapisywanie sekretów w commitach. To najbardziej szkodliwy i najczęstszy błąd. Dodaj pliki
.envdo.gitignorei zmień każdy klucz, który kiedykolwiek został wysłany. - Jedna gałąź i brak opisów. Wystarcza do solowych eksperymentów, ale nadawaj commitom jasne opisy i używaj gałęzi przy wszystkim, co ryzykowne.
- Edytowanie w dwóch miejscach naraz. Jeśli zmieniasz kod na GitHub i w narzędziu do budowania z AI bez pobierania zmian pomiędzy, powstają konflikty. Wybierz jedno miejsce do edycji naraz i synchronizuj przed przełączeniem.
- Uznanie prywatnego repozytorium za kopię zapasową wszystkiego. Zawiera ono kod, a nie zawartość bazy danych ani przesłane pliki. Te potrzebują własnych kopii zapasowych.
O co poprosić narzędzie do budowania z AI
- „Dodaj
.gitignore, który wyklucza.env, foldery zależności i wynik kompilacji.” - „Napisz README, które wyjaśnia instalację, jakie zmienne środowiskowe są potrzebne (tylko nazwy) i jak uruchomić aplikację.”
- „Dodaj
.env.exampleze wszystkimi nazwami zmiennych i bez prawdziwych wartości.” - „Używaj jasnych, opisowych komunikatów commitów dla każdej zmiany.”
Te cztery prośby tworzą repozytorium, które programista może przejąć w kilka minut. Aby przenieść aplikację na własne serwery, zob. jak wyeksportować i hostować u siebie aplikację zbudowaną z AI, a aby ją wzmocnić przed prawdziwymi użytkownikami, jak przenieść prototyp AI na produkcję.
GitHub a Mythex
Mythex prowadzi historię za Ciebie w każdym planie: po każdej udanej turze agenta zapisuje punkt kontrolny, czyli migawkę Git, do której możesz wrócić. W planie Pro możesz połączyć GitHub i wysyłać lub pobierać projekt z własnego repozytorium albo pobrać cały projekt jako archiwum; sekrety i zainstalowane zależności są pomijane przy eksporcie. Tutaj GitHub służy do synchronizacji kodu, a nie do logowania się do Mythex. Zob. GitHub, eksport i import w dokumentacji oraz cennik, aby sprawdzić, co zawiera każdy plan.
Pytania
Jaka jest różnica między Gitem a GitHub?
Git to darmowe oprogramowanie, które zapisuje historię plików projektu na dowolnym komputerze. GitHub to strona internetowa, należąca do Microsoftu, która hostuje repozytoria Git online i dodaje narzędzia do współpracy, takie jak pull requesty, zgłoszenia (issues) i automatyzacja.
Czy potrzebuję GitHub, żeby zbudować aplikację z AI?
Nie. Wiele narzędzi do budowania aplikacji z AI przechowuje historię za Ciebie w samym produkcie. GitHub staje się przydatny, gdy chcesz mieć własną kopię kodu, chcesz pracować z programistą albo planujesz hostować aplikację gdzie indziej.
Czy GitHub jest darmowy?
GitHub ma darmowy plan, który obejmuje publiczne i prywatne repozytoria, co wystarcza większości osób indywidualnych i małych zespołów. Płatne plany dodają zarządzanie zespołem i dodatkowe funkcje; aktualne szczegóły znajdziesz na stronie cennika GitHub.
Czy mój kod na GitHub jest publiczny?
Tylko wtedy, gdy ustawisz repozytorium jako publiczne. Prywatne repozytoria są widoczne wyłącznie dla Ciebie i zaproszonych osób. Nawet w prywatnym repozytorium nigdy nie zapisuj haseł ani kluczy API.