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
- git-scm.com – oficjalna dokumentacja
- github.com/skills – interaktywne kursy
- learngitbranching.js.org – wizualizacja
- ohshitgit.com – ratowanie z kłopotów
Dziękuję za ukończenie kursu! 🙏