Git! Po co, na co i dlaczego? Cz. 1

Opublikowane przez Piotr Wachulec w dniu

Cześć!

Powiedz mi ile razy robiłeś tak, że aby uniknąć straty wykonanej pracy robiłeś/robiłaś kopie plików gdzieś na pendrive lub co gorsza w folderze obok. Albo w ogóle nie zapisywałeś/aś postępów i przy wyłączeniu prądu, zawieszeniu komputera wszystko zdechło… Hmm a może pisałaś dokument czy program i fajnie byłoby wrócić do poprzedniej wersji? A może potrzebujesz coś tworzyć w grupie i korzystasz z dysków online, no ale jak to potem połączyć do kupy? Na to wszystko lekiem są systemy kontroli wersji.

Systemy kontroli wersji

Systemem kontroli wersji nazywamy oprogramowanie służące do śledzenia zmian w tworzonych plikach. Głównie mówi się o śledzeniu zmian w kodzie źródłowym programu tworzonego przez zespół deweloperów, ponieważ systemy te powstały właśnie głównie z ich potrzeb. Jednym z takich systemów, praktycznie wszędzie stosowanym, jest Git. Warto w tym miejscu dodać, że można korzystać z systemów kontroli wersji nie tylko do wersjonowania plików z kodem źródłowym, ale tak naprawdę każdych. Różnica jest tylko taka, że mogą nastąpić potem kłopoty przy mergowaniu, ale to wszystko sobie wyjaśnimy w kolejnych etapach kursu. Pewnie nawet nie wiesz, czym jest mergowanie, ale spokojnie, tego także się dowiesz.

Git

Wcześniej wspomniałem, że jednym z systemów kontroli wersji jest Git. Obsługa właśnie tego narzędzia będzie głównym tematem tego cyklu wpisów. Czym jest właściwie ten Git? Na stronie tego oprogramowania twórcy piszą o nim tak:

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

Dlaczego taki kurs?

  • Jest to podstawowe narzędzie w pracy dewelopera.
  • Korzystając z gita można oszczędzić wielu niepotrzebnych sytuacji, patrz wyżej.
  • Sam chcę dogłębniej zapoznać się z tym narzędziem.
  • Na zajęciach, które będę w tym roku prowadził, od samego początku postaram się używać wersjonowania kodu.
  • Chcę zrobić taki kurs, który sam bym chciał kiedyś znaleźć i się z niego nauczyć.
  • Wprawienie w korzystaniu z konsoli. Dlaczego konsola? Ułatwi załapanie działania Gita i pozwoli uczestnikom kursu nie pracującym z konsolą rozkochać się w niej! Przejście na graficzne narzędzia wspomagające Gita będzie żadnym problemem.

Rozkład jazdy kursu

Nie będzie to nic odkrywczego. Weźmiemy sobie dokumentację i będziemy przerabiać po kolei działy. Na pewno nie uda się przetestować każdej opcji, ale postaramy się zrobić jak najwięcej! Też nie chodzi o to, by pokazać działanie każdej flagi z osobna, tylko by pokazać główne działanie danej komendy. Zastrzegam, że lista może ulegać modyfikacjom!

Lista wpisów:

  1. Git – pierwsze starcie – ogólna powiastka o systemie
  2. Git – start – inicjalizacja repozytorium, konfiguracja
  3. Git – zarządzanie plikami
  4. Git – praca nad różnymi funkcjonalnościami w jednym projekcie
  5. Git – udostępnianie na serwerze
  6. Git – łatamy dziury
  7. Git – email
  8. Git – zarządzanie repozytorium

Materiały dodatkowe

Jeżeli chcesz sam zacząć wcześniej, to tutaj polecam:

Podsumowanie

Mam nadzieję, że zachęci Cię to do śledzenia tego kursu i próbowania sił w używaniu repozytorium. Tym czasem do zobaczenia!