Praca zdalna z GitHub

1. Wprowadzenie

GitHub to platforma hostingowa dla repozytoriów Git. Pozwala na: * Przechowywanie kodu w chmurze * Współpracę z innymi programistami * Code review (Pull Requests) * Śledzenie błędów (Issues) * Automatyzację (GitHub Actions)

Alternatywy: GitLab, Bitbucket, Gitea


2. Tworzenie konta GitHub

  1. Przejdź na github.com
  2. Kliknij "Sign up"
  3. Podaj email, nazwę użytkownika, hasło
  4. Zweryfikuj email

Darmowy plan wystarcza dla większości projektów (unlimited public repositories).


3. Tworzenie repozytorium na GitHub

3.1. Przez interfejs web

  1. Zaloguj się na GitHub
  2. Kliknij "+" w prawym górnym rogu → "New repository"
  3. Wypełnij:
  4. Repository name: moj-projekt
  5. Description: Opcjonalny opis
  6. Public/Private: Publiczne lub prywatne
  7. Initialize: NIE zaznaczaj żadnych opcji (jeśli masz lokalne repozytorium)
  8. Kliknij "Create repository"

3.2. GitHub CLI (opcjonalnie)


4. Połączenie lokalnego repo z GitHub

4.1. Dodanie remote

origin to standardowa nazwa zdalnego repozytorium.

4.2. Sprawdzenie remote

Output:

origin  https://github.com/username/moj-projekt.git (fetch)
origin  https://github.com/username/moj-projekt.git (push)

5. Push (wysyłanie zmian)

5.1. Pierwszy push

Flagi: * -u (upstream) – ustawia tracking branch * origin – nazwa remote * main – nazwa brancha

5.2. Kolejne pushe

Git pamięta, gdzie pushować dzięki -u.

5.3. Push konkretnego brancha


6. Clone (klonowanie repozytorium)

6.1. Klonowanie przez HTTPS

6.2. Klonowanie przez SSH (zalecane)

6.3. Klonowanie do konkretnego folderu


7. Pull (pobieranie zmian)

7.1. Podstawowy pull

Równoważne:

7.2. Pull konkretnego brancha

7.3. Pull z rebase (zamiast merge)


8. Fetch (pobieranie bez mergowania)

8.1. Pobieranie zmian

Pobiera zmiany, ale nie merguje ich automatycznie.

8.2. Sprawdzenie zmian

8.3. Merge po fetch


9. Workflow z GitHub


10. Pull Requests (PR)

10.1. Czym jest Pull Request?

Prośba o włączenie zmian z Twojego brancha do brancha głównego.

10.2. Tworzenie PR

  1. Push brancha na GitHub
  2. Przejdź na GitHub
  3. Kliknij "Compare & pull request"
  4. Wypełnij:
  5. Tytuł (krótki opis)
  6. Opis (szczegóły zmian)
  7. Kliknij "Create pull request"

10.3. Code Review

Inni programiści mogą: * Przeglądać kod * Dodawać komentarze * Proponować zmiany * Zatwierdzać (Approve)

10.4. Mergowanie PR

Gdy PR jest gotowy: 1. Kliknij "Merge pull request" 2. Potwierdź 3. Opcjonalnie: Usuń branch


11. Fork (rozwidlenie projektu)

11.1. Czym jest fork?

Kopia cudzego repozytorium na Twoim koncie.

11.2. Workflow z forkiem


12. Issues (zgłoszenia)

12.1. Tworzenie Issue

  1. Zakładka "Issues"
  2. Kliknij "New issue"
  3. Opisz problem lub propozycję funkcji
  4. Przypisz etykiety (bug, enhancement, itp.)
  5. Kliknij "Submit new issue"

12.2. Powiązanie commita z Issue

#42 to numer Issue.


13. SSH vs HTTPS

HTTPS SSH
Prostsze w konfiguracji Wymaga generowania kluczy
Wymaga hasła przy każdym push Brak hasła (po konfiguracji)
https://github.com/... git@github.com:...

Zalecane: SSH (szybsze, bezpieczniejsze)


14. .gitignore

Pliki, których Git ma ignorować:

# .gitignore
node_modules/
*.log
.env
.DS_Store
dist/

Szablony: github.com/github/gitignore


15. README.md

Plik opisujący projekt (w Markdown):


16. Cheatsheet - GitHub

Komenda Opis
git clone <url> Sklonuj repo
git remote add origin <url> Dodaj remote
git push -u origin main Push z tracking
git push Push zmian
git pull Pobierz i zmerguj
git fetch Pobierz bez mergowania
git remote -v Lista remote

17. Podsumowanie

GitHub umożliwia współpracę:

  • ✅ Push/Pull – synchronizacja zmian
  • ✅ Pull Requests – code review
  • ✅ Fork – praca nad open source
  • ✅ Issues – śledzenie błędów

Podstawowy workflow:

clone → branch → commit → push → PR → merge

Co dalej:

  • Lekcja 7 – Historia i cofanie zmian
  • Lekcja 8 – .gitignore

Świetnie! Umiesz już pracować z GitHub! 🚀