Agenda szkolenia
- Wprowadzenie
- Zrozumienie czym jest system kontroli wersji
- Różne architektury systemów kontroli wersji
- Dlaczego Git stał się najpopularniejszym narzędziem w swojej kategorii:
- przedstawienie cech programu
- porównanie z innymi systemami
- Historia powstania i przeznaczenie Git
- Podstawowe programy linuksowe
- Praca z dokumentacją
- Czytanie synopsis (skrót opisu interfejsu)
- Odnajdowanie informacji w dokumentacji
- Git na lokalnym komputerze
- Pierwsze kroki:
- Instalacja środowiska na platformach Windows, Mac, Linux
- Konfiguracja środowiska pracy (Poziomy konfiguracji, Ustawianie danych użytkownika, Konfiguracja domyślnego edytora, Podstawy VIM)
- Inicjalizacja repozytorium
- Operacje na plikach:
- Katalog repozytorium (katalog roboczy, katalog git)
- Cykl życia plików i stan plików
- Status repozytorium
- Dodawanie do indeksu i wycofywanie oczekujących zmian
- Dodawanie migawek
- Ignorowanie pików, globy
- Operacje na branchach:
- Korzyści i koszty pracy z gałęziami
- Tworzenie gałęzi
- Zmienianie nazwy gałęzi
- Usuwanie gałęzi lokalnie
- Przełączanie się między gałęziami
- Scalanie gałęzi
- Poruszanie się po acyklicznym grafie skierowanym historii:
- Wskazywanie przodków
- Wskazywanie zbiorów commitów (notacje double, triple dots)
- Porównywanie rewizji
- Historia zmiany (Całego repozytorium, linijki w pliku, pliku)
- Filtrowanie commitów
- Nadpisywanie historii
- Usuwanie commitów
- Jak git przechowuje dane
- Anatomia folderu .git
- Czym jest funkcja haszująca SHA-1 i jaka jest jej rola
- Anatomia obiektów Git ( Wskaźniki zarządzane, Wskaźniki niezarządzane, Podstawowe obiekty w bazie key-val )
- Git, a praca zespołowa w sieci:
- Synchronizacja pracy
- Pobieranie zdalnego projektu
- Opcje autentykacji użytkownika ( HTTPS, SSH, GPG )
- Wskaźniki typu remote
- Synchronizacja ze wskaźnikami remote
- Wypychanie zmian
- Pull Request
- Oprogramowanie serwerowe Git – wprowadzenie:
- Strategie efektywnej organizacji pracy:
- Tagowanie
- Dobre praktyki sprzyjające przepływowi informacji
- Dobór strategii ze względu na charakterystykę projektu
- Przydatne konwencje w pracy zespołowej
- Łączenie metodyk zwinnych z funkcjonalnościami Git
- Dodatkowe narzędzia:
- Mechanizm schowka do szybkiego przełączania kontekstu pracy
- Wykorzystanie komendy rebase
- Cherry pick, Aliasy, Reflog
- Projekt zespołowy symulujący rzeczywistą pracę:
- Kilka wariantów projektów
- Przedstawienie problemu i konwencji pracy
- Podział zadań
- Praca równoległa
- Scalenie zmian
- Wydanie efektu pracy