
Pamiętam mój pierwszy projekt z użyciem systemu kontroli wersji git - studencki, grupowy projekt z krótkim czasem oddania. Termin naglił, co nie sprzyjało nauce obsługi tego narzędzia, a problemy się mnożyły. Najprawdopodobniej pomogłoby nam skupienie się przez jakiś czas na nauce samego gita, a potem wrócenie do jego aktywnego używania.
Faktycznie, systemy kontroli wersji (najpopularniejszym jest git, inne to np. svn i mercurial) są na początku nieintuicyjne i mogą wydawać się trudne w zrozumieniu. Jednak jest to wysiłek zdecydowanie wart zachodu. Te umiejętności przydadzą się prędzej czy później w programowaniu i nie tylko. Mogą też bardzo pomóc w zarządzaniu prywatnymi projektami. Np. w mierzeniu ich postępów.
Czym zatem jest system kontroli wersji?
W skrócie mówiąc, system kontroli wersji śledzi zmiany w plikach. A dokładniej rejestruje i przechowuje w specjalnych strukturach wszelkie informacje o dodanych i usuniętych liniach w obserwowanych dokumentach.
Obrazowo mówiąc - zaczynasz nowy projekt jako prosty jednoosobowy skrypt, ale z czasem rozwijasz dodatkowe moduły, biblioteki, do projektu dołączają kolejne osoby. System kontroli wersji używany od samego początku, pozwoli śledzić całą historię zmian i przyrostu kolejnych plików.
Zalety
Podstawową zaletą git'a, jest możliwość współdzielenia kodu z innymi. Przy większym projekcie jest to bardzo istotne. Git pozwala całemu zespołowi pracować na tej samej wersji kodu. W razie zmian lub problemów, zawsze można odwołać się do historii i zobaczyć, co zostało zmienione. Zdarza się, że mimo implementacji jakaś funkcja nie przechodzi do wersji produkcyjnej. Zarządzanie kodem jest znacznie ułatwione, jeśli cała logika związana z funkcją będzie łatwa do odnalezienia (np. w jednym branchu lub jednym commicie jeśli zmiana jest mała).
Wady
Jeśli chodzi o wady, to faktycznie jest to dodatkowe narzędzie, którego musimy się nauczyć. Może to początkowo komplikować cały proces pracy nad projektem. Początki mogą być faktycznie zagmatwane.
Git w codziennej pracy
W praktyce większość osób uczy się kilku podstawowych komend, które pozwalają korzystać z podstawowych funkcji systemu. Wystarcza to do codziennej pracy i korzystania z dobrodziejstw gita. Dodawanie nowych plików, pobieranie nowszej wersji z głównego repozytorium, dzielenie się swoimi zmianami z resztą zespołu oraz tworzenie nowych branchy należą właśnie do takich codziennych zadań.
Opanowanie tego poziomu swobodnego poruszania się w podstawach gita może chwilę zająć, więc nie zrażaj się. Po jakimś czasie warto rozejrzeć się wśród zaawansowanych opcji, bo wiele istnieje po to, by ułatwić dalszą pracę.
Jak się nauczyć git'a?
Polecam zainstalować git'a na swoim komputerze i przetestować jego użycie w lini komend. Istnieje też wersja graficzna, ale uczenie się poprzez wpisywanie konkretnych poleceń z odpowiednią składnią wspomaga zrozumienie całości, dlatego polecam pierwszą opcję.
Można też skorzystać z interaktywnego samouczka: https://try.github.io/, który pomoże w bezpieczny sposób przećwiczyć całość, dając dodatkowe wskazówki, co robić dalej oraz wizualną reprezentację tego co się dzieje. Nie bój się wracać do samouczka wiele razy, jeśli w późniejszej pracy z gitem napotkasz trudności.
Czym się różni Git od Github'a?
Git jest systemem kontroli wersji, programem napisanym przez Linusa Torvaldsa. Można z niego korzystać lokalnie, na własnym komputerze, tworząc własne repozytorium lub współpracując z repozytorium umieszczonym na innym serwerze. Repozytorium jest po prostu zbiorem kodu projektu wraz z dodatkowymi danymi związanymi ze zmianami w kodzie, np. autorami, historią, obecnym stanem itd.
Github jest platformą online do przechowywania repozytoriów wraz z całą funkcjonalnością gita. Ty również możesz założyć tam bezpłatne konto i przechowywać swoje pliki z kodem i nie tylko.
0 Komentarze