Technologia

Co to jest Git? Czym jest system kontroli wersji?

Thomas Barwick/Getty Images

Technologia

Co to jest Git? Czym jest system kontroli wersji?

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.

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 internetów wykorzystuje Git do rozwoju swojego kodu, a są to m.in. Facebook, Reddit oraz Digg.

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 wideo: Jak wyglądały początki gier komputerowych?

Zobacz także:

Jak przyspieszyć komputer samodzielnie? Sprawdzone sposoby

Polski projekt bazy na Księżycu ze światową nagrodą. "Eksploracja kosmosu nie należy do najtańszych"

Dlaczego oszczędzanie energii jest ważne? Sposoby oszczędzania energii w domu

Co sądzisz o tym artykule?
50
4
Wybrane dla Ciebie
Komentarze
0