Co to jest GitHub i czym są systemy kontroli wersji w projektach programistycznych?
3 min
3 min
Na skróty
Praca nad jakimkolwiek projektem programistycznym nie jest łatwa — tym bardziej, gdy współpracujemy z całą grupą programistów, a sam kod źródłowy z każdym dniem zyskuje nowe rozgałęzienia. System kontroli wersji Git — wraz z platformą GitHub — upraszcza odnalezienie się w kodzie oraz śledzenie dokonywanych w nim zmian… i dlatego ich znajomość jest niezbędna dla każdego programisty. W dzisiejszym wpisie powiemy o nich nieco więcej — zapraszamy do lektury!
Zacznijmy od początku. Kontrola wersji to — mówiąc krótko — śledzenie zmian dokonywanych w kodzie źródłowym danego programu.
System kontroli wersji to z kolei konkretne rozwiązanie programistyczne, które zapisuje modyfikacje dokonywane w kodzie programu i pozwala zarządzać zmianami wprowadzanymi przez różnych programistów. Każdy system kontroli wersji ma swoją własną bazę danych, w której zapisywane są kolejne modyfikacje kodu. W przypadku błędu — na przykład nieprawidłowego wdrożenia skryptu napisanego przez programistę, który dopiero co dołączył do zespołu deweloperskiego — takie narzędzie pozwoli przeanalizować, krok po kroku, co poszło nie tak; a w razie konieczności, przywrócić starszą wersję programu.
Dzięki systemowi kontroli wersji nie grozi nam utrata żadnych napisanych wcześniej fragmentów kodu — a do tego, mamy „furtkę awaryjną” na wypadek większych problemów z wdrażaniem skryptów.
Narzędzi umożliwiających kontrolę wersji jest wiele — my skupimy się na tym zdecydowanie najbardziej uniwersalnym i najchętniej wykorzystywanym w praktyce, czyli na systemie Git.
Git jest open source’owym, rozwijanym już od 2005 roku systemem do kompleksowego zarządzania kodu źródłowego.
Jego największą zaletą — obok, oczywiście, niezwykle rozbudowanej społeczności — jest rozproszona architektura. Każda kopia robocza każdego programisty jest pełnym zapisem zmian (repozytorium) w kodzie źródłowym. To duża różnica w porównaniu ze starszymi systemami (na przykład CVS), które pozwalały na przechowywanie pełnego repozytorium wyłącznie w jednym miejscu. Dzięki takiemu rozwiązaniu Git idealnie sprawdza się przy projektach, nad którymi jednocześnie pracuje cała grupa programistów — umożliwiając łączenie i przenoszenie zmian pomiędzy niezależnie rozwijanymi gałęziami kodu.
Dodajmy do tego:
a otrzymamy w zasadzie optymalny system kontroli wersji — zwłaszcza jeśli myślimy o rozwiązaniu dla dużych projektów programistycznych.
Na koniec — krótko o serwisie, który zna każdy programista — czyli o GitHubie. To po prostu platforma, na której możemy zdalnie przechowywać publiczne oraz prywatne repozytoria — katalogi wszystkich wersji danego projektu, w których zmiany śledzimy przy pomocy systemu Git.
Zastosowań GitHuba jest mnóstwo. Od tego najbardziej oczywistego, czyli tworzenia kopii zapasowej kodu źródłowego, po:
Mówiąc otwarcie, trudno nam wyobrazić sobie pracę nad projektem programistycznym bez GitHuba — a zwłaszcza nad projektem zespołowym. Dlatego też koniecznie radzimy się zapoznać z tym serwisem (jak i z samym systemem Git) — ich znajomości w świecie programowania wymaga dziś każdy.
Zawodowy copywriter oraz student psychologii na Uniwersytecie Warszawskim. W świecie marketingu internetowego równie mocno, co chwytliwe (i wartościowe) treści interesuje go dobry design. Gdy nie zajmuje się tworzeniem contentu, odkrywa perełki kina niezależnego i pracuje nad własnymi opowiadaniami.