Co to jest Git? Czym jest system kontroli wersji?

Informatyk
Co to jest Git? Czym jest system kontroli wersji?
Źródło: Thomas Barwick/Getty Images
Git to jeden z dostępnych systemów kontroli wersji. Na początek warto wiedzieć, że wyróżnia się trzy rodzaje powyższych systemów – lokalne, scentralizowane i rozproszone. Git zaliczamy do trzeciej grupy. Jest on oparty na architekturze P2P. Takie rozwiązanie umożliwia jednoczesną współpracę z grupami ludzi nad tym samym zadaniem. Zmiany w projekcie są szybko synchronizowane. Dowiedz się więcej o tym systemie z okazji Dnia Wolnego Oprogramowania.

Git funkcjonuje jako wolne oprogramowanie na licencji GNU GPL w wersji drugiej. Oznacza to, że jest dostępny za darmo pod warunkiem, że nie udostępniamy zmodyfikowanej wersji programu. Wiele dużych projektów korzysta z systemu kontroli wersji Git, np. jądro systemu Linux. Ponadto kilka popularnych serwisów internetowych wykorzystuje Git do rozwoju swojego kodu, a są to m.in. Facebook, Reddit oraz Digg.

Dzień Wolnego Oprogramowania

To święto przypadające 17 września 2022 roku. Ustanowiony został, aby podkreślić istotną rolę oprogramowania, które może być swobodnie modyfikowane, ulepszane oraz rozpowszechniane. Z początku rozwoju komputerów była to jedyna forma programowania, jednak z czasem stało się ono własnościowe.

Internet i technologia

Źródło: Dzień Dobry TVN
Czy technologia nas ogłupia?
Czy technologia nas ogłupia?
Technologie w służbie ekologii
Technologie w służbie ekologii
Targi technologiczne w Dubaju - na co stawia świat?
Targi technologiczne w Dubaju - na co stawia świat?
Ciemne strony nowych technologii
Ciemne strony nowych technologii
10% młodych uważa, że jest w internetowym związku
10% młodych uważa, że jest w internetowym związku
Stworzyli prototyp kierownicy monitorującej tętno i saturację kierowcy
Stworzyli prototyp kierownicy monitorującej tętno i saturację kierowcy
Czy media społecznościowe mogą być pożyteczne w życiu dziecka?
Czy media społecznościowe mogą być pożyteczne w życiu dziecka?

Czym jest system kontroli wersji?

Aby zrozumieć działanie systemu Git, warto dowiedzieć się, czym jest system kontroli wersji. Najprościej rzecz ujmując, jest to oprogramowanie śledzące zmiany w kodzie źródłowym lub dowolnego rodzaju plikach. Stosowanie systemu kontroli wersji umożliwia przywrócenie jednej z poprzednich wersji danego pliku. Takie rozwiązanie sprawdza się zarówno u programistów, jak i grafików. Załóżmy, że tworzymy złożone grafiki oraz szablony stron internetowych.

System kontroli wersji umożliwia nam powrót do dowolnej wersji danego projektu. Ponadto mamy możliwość sprawdzenia, jak powstał każdy jego element. Jeśli zaś pracujemy nad projektem w grupie, to system kontroli wersji umożliwia uzyskanie takich informacji, jak: kto, kiedy i jakie zmiany wprowadził w projekcie. Systemy kontroli wersji są podzielone na trzy grupy: lokalne, scentralizowane i rozproszone.

Lokalny system kontroli wersji przede wszystkim daje możliwość zapisu danych tylko na jednym komputerze – dostęp do różnych wersji pliku lub projektu znajduje się tylko na konkretnym urządzeniu.

Dzięki zapisowi danych nt. plików lokalny system kontroli wersji umożliwia przywrócenie dowolnej wersji pliku. Większe możliwości zapewnia korzystanie z systemów kontroli wersji scentralizowanych. Stworzono je, aby ułatwić współpracę osób pracujących nad jednym projektem. W tym modelu systemu mamy jeden serwer, na którym przechowywane są dane i pliki. Dostęp do niego mają użytkownicy pracujący nad projektem – każdy może pracować przy innym komputerze. W skrócie mamy tutaj zastosowaną architekturę klient-serwer. Administratorzy mający dostęp do serwera mogą sprawdzić kto i kiedy wprowadzał zmiany, przywracać poprzednie wersje plików itd.

Problem pojawia się w momencie, gdy dysk twardy, na którym gromadzone są dane, ulegnie uszkodzeniu. W skrajnym przypadku dostęp do projektu może zostać całkowicie utracony. Podobnie sprawa wygląda w przypadku awarii serwera – tak długo, jak trwa awaria, tak długo użytkownicy nie mogą korzystać z zapisanych wersji projektu. Wady powyższego systemu zaowocowały powstaniem rozproszonego systemu kontroli wersji i m.in. oprogramowania Git.

Rozproszony system kontroli wersji oparty jest na architekturze P2P. Każdy z użytkowników (klientów) ma dostęp i kopiuje na swój komputer całe repozytorium – jest to miejsce, gdzie przechowywane są pliki lub kod. W przypadku awarii serwera repozytorium każdego z użytkowników może zostać skopiowanego na serwer, aby przywrócić jego poprawne funkcjonowanie. Rozproszone systemy kontroli umożliwiają szybką synchronizację plików pomiędzy użytkownikami. W przypadku oprogramowania Code Co-Op można dokonać operacji za pośrednictwem wiadomości e-mail.

Co to jest Git?

Git jest to rozproszony system kontroli wersji. Został stworzony jako narzędzie wspomagające rozwój jądra systemu Linux. Obecnie klienta Git można pobrać na systemy Windows, Mac OS X oraz Linux/Unix. Proces instalacji jest szybki i intuicyjny. Funkcjonowanie systemu Git najlepiej wyjaśnić na przykładzie: jeśli projekt składa się z trzech plików, a zmienimy tylko jeden z nich, to Git zapisuje nową wersję zmienionego pliku. W przypadku niezmienionych plików system Git jedynie odsyła do ich najnowszej wersji. W ten sposób nie zapisuje na nowo tych samych wersji plików. Ponadto warto wiedzieć, że większość operacji za pomocą systemu Git odbywa się lokalnie. Całe repozytorium projektu znajduje się na dysku twardym komputera – nie musimy być w ciągłej łączności z serwerem, co zdecydowanie przyspiesza pracę. Podczas pracy z system kontroli wersji Git pliki mogą znajdować się na jednym z trzech etapów. Pliki są:

  • zmodyfikowane (zmienione, ale nie zachowane w bazie danych),
    • śledzone (zmodyfikowany plik jest przeznaczony do zatwierdzenia podczas najbliższej operacji commit). Operacja commit to proces wysłania do repozytorium zmian, które zaszły w danym pliku lub kodzie.

      Zobacz także:

      Zobacz wideo: Jak wyglądały początki gier komputerowych?

      Autor: Adrian Adamczyk

      Źródło zdjęcia głównego: Thomas Barwick/Getty Images

      podziel się:

      Pozostałe wiadomości

      Serowe arcydzieła na talerzu Andrzeja Polana
      Materiał promocyjny

      Serowe arcydzieła na talerzu Andrzeja Polana