Repozytorium zawiera opis laboratorium z podstaw wykorzystania systemu kontroli wersji Git, realizowanego w ramach przedmotu 'Podstawy Inżynierii Oprogramowania' prowadzonego przez Instytut Informatyki Stosowanej dla studentów kierunku Informatyka na wydziale Elektrotechniki, Elektroniki Informatyki i Automatyki Politechniki Łódzkiej.
Opis zadań laboratoryjnych znajduje się w pliku git_lab_opis.pdf. Zmiany realizowane w poszczególnych zadaniach znajdują się w odrębnych folderach umieszczonych w folderze context. Obecnie folder zawiera jeden przykładowy projekt.
Struktura laboratorium oddziela problem kontroli wersji (który jest tematem laboratorium), od projektu podlegającego kontroli wersji (który jest tylko przykładem - kontekstem). Zmiany, które należy wprowadzać w ramach przykładowego projektu, opisane są niezależnie, w osobnych plikach. Możliwa jest, dzięki temu, zmiana kontekstu kontroli wersji. Domyślnie jest to strona WWW, ale można wprowadzić kontekst bardziej programistyczny (np. projekt w Javie) lub temat nie związany z dziedziną wytwarzania oprogramowania (np. opracowywanie dokumentu ustawy). Ograniczeniem jest struktura laboratorium wprowadzająca określony scenariusz zmian. Taka generyczność wymusza również adekwatny opis laboratorium, w którym np. zamiast określenia: "Otwórz stronę w przeglądarce w celu kontroli poprawności struktury po zmianach" znajduje się treść: "Przetestuj poprawność wprowadzonych zmian". Efektem takiego zabiegu jest powstanie sytuacji, w które student sam musi określić sposób kontroli poprawności, w zależności od rodzaju przykładu.
-
Praca indywidualna
- Inicjalizacja i połączenie ze sobą repozytorium lokalnego oraz zdalnego.
-
Wersja początkowe projektu.
-
Utworzenie gałęzi dla odrębnych cech (feature branches).
-
Częściowy rozwój cech.
-
Wprowadzenie zmiany w gałęzi master (bugFix) i scalenie jej z gałęziami cech.
-
Finalizacja implementacji cech.
-
Scalenie cech z gałęzią master.
-
Wysłanie do zdalnego repozytorium rezultatów i utworzenie wydania (release) projektu.
-
Praca zespołowa
-
Zdalne "sklonowanie" projektu kolegi/koleżanki na platformie GitHub i utworzenie na jego podstawie repozytorium lokalnego.
-
Rozwój cechy 3.
-
Wysłanie zmian do zdalnego repozytorium.
-
Wysłanie informacji o zmianach (pull request) do właściciela projektu.
-
Wprowadzenie zmian wykonanych przez kolegę/koleżankę do swojego repozytorium zdalnego i utworzenie kolejnego wydania projektu.
- Inne przykłady (konteksty kontroli wersji)