// Fundamenty

Git i GitHub bez terminala

// spis treści

Git i GitHub bez terminala w Antigravity

W poprzedniej lekcji ustawiłeś model i nauczyłeś się pilnować limitu. Ta lekcja zakłada pod to wszystko siatkę bezpieczeństwa: punkty zapisu, do których wracasz jednym kliknięciem.

To jedyna lekcja opcjonalna w tym kursie. Cały kurs przejdziesz bez Gita i nic ci nie wybuchnie. Ale jeśli chcesz pracować bezpiecznie i wejść poziom wyżej niż „edytor z czatem", zrób to teraz - od lekcji 14 agent zacznie ruszać kilkanaście plików naraz i wtedy ręczne cofanie zmian przestaje być realne.

Wyobraź sobie: puszczasz agenta na wszystkie pliki w Kawiarnia-Nova, wychodzisz po kawę, wracasz - i połowa wygląda nie tak, jak miała. Bez kontroli wersji zostaje ci ratowanie tego ręcznie. Z kontrolą wersji klikasz raz i jesteś w punkcie sprzed zmiany.

Krok 1: Git w jednym akapicie

Git to automatyczne punkty zapisu dla całego folderu. Nie dla jednego pliku, jak Cmd + Z w edytorze - dla wszystkiego naraz: plików, folderów, tego co usunięte i tego co dodane. Robisz punkt zapisu (nazywa się „commit"), pracujesz dalej, a jak coś pójdzie źle, wracasz do dowolnego zapisanego stanu. Dokładnie jak w grze, w której zapisujesz przed trudną misją.

Dla ciebie, przy pracy z agentem, to jest kluczowe z jednego powodu. Agent zmienia dziesiątki plików w kilkanaście sekund. Człowiek tak nie pracuje, więc człowiek nie potrzebował takiego zabezpieczenia. Ty potrzebujesz.

Krok 2: Włącz kontrolę wersji w projekcie

Antigravity to edytor zbudowany na VS Code, więc panel kontroli wersji masz wbudowany - nie instalujesz nic dodatkowego. W lewym pasku ikon klikasz ikonę kontroli wersji (rozgałęzienie, trzy kropki połączone liniami) albo Cmd + Shift + G.

Przy pierwszym wejściu do folderu, który nie jest jeszcze śledzony, zobaczysz przycisk Initialize Repository. Klikasz go raz na projekt. Od tej chwili edytor pilnuje każdej zmiany w tym folderze.

Panel kontroli wersji i przycisk Initialize Repository

Krok 3: Zrób pierwszy punkt zapisu

Po inicjalizacji w panelu widzisz listę zmienionych plików w sekcji Changes, z literką po prawej: M to zmodyfikowany, U to nowy, D to usunięty. Klikasz nazwę pliku i w środku ekranu masz porównanie: zielone linie to dodane, czerwone to usunięte.

Zapis robisz w trzech ruchach:

  1. plusem przy nagłówku Changes przenosisz wszystkie pliki do Staged Changes,
  2. w polu na górze wpisujesz krótki opis, na przykład „Oferta i cennik Kawiarni Nova przed poprawkami agenta",
  3. klikasz Commit.

Opis piszesz dla siebie z przyszłości. „zmiany" nic ci nie powie za trzy tygodnie, „cennik 2026 zaakceptowany przez klienta" - powie wszystko.

Lista zmian, pole opisu i przycisk Commit

Krok 4: Cofnij to, co agent zepsuł

Tu odzyskujesz zainwestowane 5 minut. Masz dwie ścieżki.

Jeden plik: klikasz go w panelu kontroli wersji prawym przyciskiem i wybierasz Discard Changes. Plik wraca do stanu z ostatniego commita. Historię pojedynczego pliku obejrzysz też w widoku Timeline na dole panelu z plikami - masz tam listę wszystkich zapisów, w których ten plik się zmieniał.

Cały folder: pytasz agenta. On zna komendy Gita i ma dostęp do terminala, więc wystarczy zwykłe zdanie:

Cofnij zmiany w folderze Kawiarnia-Nova do stanu
z ostatniego commita.

Agent świetnie sprawdza się też jako tłumacz historii:

Opisz mi jednym zdaniem, co się zmieniło w projekcie
od ostatniego commita.

Zamiast czytać czerwono-zielone linie w dziesięciu plikach, dostajesz podsumowanie po polsku.

Discard Changes i historia pliku w widoku Timeline

Pro-tip. Rytm pracy jest prosty i po tygodniu wchodzi w krew: commit przed puszczeniem agenta na dużą robotę i commit po zaakceptowaniu wyniku. Ten pierwszy to twoja droga ucieczki, drugi to zapis stanu, do którego chcesz móc wrócić. Możesz nawet dopisać w AGENTS.md: „przed masową zmianą na wielu plikach zaproponuj commit".

Zepsuty projekt i ten sam projekt po cofnięciu zmian

Krok 5: GitHub jako kopia zapasowa

Commity leżą na twoim dysku. Jeśli padnie dysk, padną razem z nim. GitHub to miejsce w chmurze, gdzie trzymasz kopię całego folderu wraz z pełną historią zmian.

Najważniejsza rzecz, której większość ludzi nie wie: to jest darmowe. Nie trial, nie wersja okrojona. Zakładasz konto za zero złotych i tworzysz prywatne repozytoria bez limitu - tyle, ile chcesz, każde niewidoczne dla nikogo poza tobą. Za pliki klientów nie płacisz ani grosza.

Dostajesz za darmo dwie rzeczy naraz:

  • kopię zapasową poza twoim komputerem - dysk pada, laptop ginie na lotnisku, a twoja robota razem z historią leży bezpiecznie w chmurze,
  • dostęp z drugiej maszyny - siadasz do innego komputera, pobierasz folder i pracujesz dalej dokładnie od tego miejsca, w którym skończyłeś.

Piętnaście minut jednorazowej konfiguracji za spokój o całą robotę dla klientów. Trudno o lepszy kurs wymiany.

W panelu kontroli wersji klikasz Publish to GitHub. Edytor zapyta, czy repozytorium ma być publiczne, czy prywatne. Dla plików klientów odpowiedź jest zawsze jedna: prywatne. Potem wystarczy przycisk Sync Changes, żeby wysłać nowe commity do chmury.

Zanim cokolwiek wyślesz, utwórz w głównym folderze plik .gitignore z listą tego, co ma zostać na twoim dysku:

.env
klucze.txt
node_modules/
*.mp4
*.mov

Czyli: pliki z kluczami API i hasłami, katalogi robocze programów i wielkie pliki wideo, które i tak zapchałyby repozytorium.

Bezpieczeństwo. Repozytorium prywatne to domyślny wybór, gdy trzymasz w folderze oferty, cenniki i dane klientów. I druga zasada, bez wyjątków: żadnych kluczy API ani haseł w repozytorium. Raz wysłany klucz zostaje w historii commitów nawet po skasowaniu pliku - jedyne poprawne działanie po takiej wpadce to unieważnienie klucza u dostawcy.

Podsumowanie

Umiesz włączyć kontrolę wersji w folderze, robić opisane punkty zapisu, cofnąć zmiany w pliku i w całym projekcie oraz odłożyć darmową kopię na prywatne repozytorium GitHuba. Od teraz możesz pozwolić agentowi na odważniejsze zmiany, bo powrót kosztuje cię jedno kliknięcie. To domyka fundamenty.

W lekcji 7 - Brainstorming z agentem zaczynamy dział o codziennej pracy: jak rozmawiać z agentem przed zadaniem, żeby nie musiał zgadywać i nie produkował generycznych treści.