Najlepsze praktyki Git

1. Wprowadzenie

Podsumowanie najlepszych praktyk pracy z Git i GitHub.


2. Commity

✅ Dobre commity:

❌ Złe commity:

Zasady:

  • Atomic – jeden commit = jedna zmiana
  • Descriptive – jasny opis co i dlaczego
  • Present tense – "Add" nie "Added"
  • 50 znaków – krótki tytuł
  • Detailed body – szczegóły w opisie (opcjonalnie)

3. Wiadomości commitów

Format Conventional Commits:

<type>(<scope>): <subject>

<body>

<footer>

Typy: * feat – nowa funkcja * fix – naprawa błędu * docs – dokumentacja * style – formatowanie * refactor – refaktoryzacja * test – testy * chore – maintenance

Przykłady:


4. Branches

Strategia nazewnictwa:

feature/nazwa-funkcji
bugfix/opis-bledu
hotfix/pilny-fix
refactor/co-refaktoryzujesz

Git Flow:

main (production)
develop (development)
feature/* (nowe funkcje)
release/* (przygotowanie release)
hotfix/* (pilne poprawki)

5. Workflow

Podstawowy workflow:


6. Code Review

Co sprawdzać:

  • ✅ Kod działa
  • ✅ Testy przechodzą
  • ✅ Nie ma błędów
  • ✅ Kod jest czytelny
  • ✅ Dokumentacja aktualna

Jak reviewować:

  • Bądź konstruktywny
  • Pytaj, nie krytykuj
  • Sugeruj rozwiązania
  • Chwal dobre praktyki

7. .gitignore

Zawsze dodaj:

# Dependencies
node_modules/
vendor/

# Environment
.env
.env.local

# Build
dist/
build/

# IDE
.vscode/
.idea/

# OS
.DS_Store
Thumbs.db

# Logs
*.log

8. Bezpieczeństwo

❌ NIGDY nie commituj:

  • Haseł
  • API keys
  • Tokenów
  • Credentials
  • Private keys

Jeśli przypadkowo zcommitowałeś:

Używaj zmiennych środowiskowych:


9. Performance

Małe commity:

  • Łatwiejszy review
  • Łatwiejsze znajdowanie błędów
  • Łatwiejsze revert

Regularne push:

  • Backup w chmurze
  • Synchronizacja z zespołem

Cleanup:


10. Dokumentacja

README.md

CONTRIBUTING.md

Instrukcje dla kontrybutorów.

CHANGELOG.md

Historia zmian w projekcie.


11. Narzędzia

Przydatne:

  • GitKraken – GUI client
  • GitHub Desktop – prosty GUI
  • GitLens (VS Code) – rozszerzenie
  • Hub – CLI wrapper
  • Git Extras – dodatkowe komendy

12. Częste błędy

Błąd 1: Force push na main

Nigdy:

Błąd 2: Commitowanie wszystkiego

Źle:

Dobrze:

Błąd 3: Gigantyczne PR

Rozdziel na mniejsze PRy.


13. Checklist przed push

  • [ ] Testy przechodzą
  • [ ] Kod sformatowany
  • [ ] Brak błędów linter
  • [ ] Brak console.log
  • [ ] Brak TODO/FIXME
  • [ ] Dokumentacja zaktualizowana
  • [ ] .gitignore aktualny

14. Aliasy


15. Workflow Summary

1. git pull (aktualizuj)
2. git checkout -b feature/x (nowy branch)
3. Pracuj nad funkcją
4. git add . (dodaj zmiany)
5. git commit -m "feat: ..." (commituj)
6. git push (wyślij)
7. Utwórz PR
8. Code review
9. Merge
10. git checkout main && git pull (aktualizuj)
11. git branch -d feature/x (cleanup)

16. Podsumowanie kursu

Gratulacje! Ukończyłeś kurs Git. Nauczyłeś się:

Podstawy:

  • Inicjalizacja repo
  • Add, commit, push, pull
  • Status i historia

Branche:

  • Tworzenie branchy
  • Merge i konflikty
  • Strategia branchy

Zdalna praca:

  • GitHub
  • Pull Requests
  • Współpraca

Zaawansowane:

  • Rebase, cherry-pick
  • Stash
  • Tags

Najlepsze praktyki:

  • Dobre commity
  • Code review
  • Bezpieczeństwo

17. Co dalej?

  • Praktyka w realnych projektach
  • Kontrybuuj do open source
  • Naucz się Git Flow
  • Automatyzacja z GitHub Actions

Powodzenia z Git! 🎉🚀


18. Zasoby

Dziękuję za ukończenie kursu! 🙏