Skip to content

Git – system kontroli wersji – 00

W pracy programisty git jest praktycznie niezbędny. Ale uczeń to nie programista, więc po co git w szkole? Postaram się Was przekonać, że może sie przydać.

Przede wszystkim – zapoznajemy uczniów z dobrymi wzorcami już od początku ich pracy. Poza tym, takie repozytorium może być ich pierwszym e-tornistrem 😉 Mogą tam dodawać dowolne swoje prace domowe, utrzymywać je przez cały okres swojej bytności w szkole. Nie muszą to być tylko kody programów, można tam także dodawać dokumenty, zdjęcia, prezentacje – wszystko, co ma postać pliku.

Strona domowa systemu git to: https://git-scm.com/

Dosyć dobre informacje o git możemy uzyskać na Polskiej Wikipedii: https://pl.wikipedia.org/wiki/Git_(oprogramowanie)

  • Dobre wsparcie dla rozgałęzionego procesu tworzenia oprogramowania: jest dostępnych kilka algorytmów łączenia zmian z dwóch gałęzi, a także możliwość dodawania własnych algorytmów.
  • Praca off-line: każdy programista posiada własną kopię repozytorium, do której może zapisywać zmiany bez połączenia z siecią; następnie zmiany mogą być wymieniane między lokalnymi repozytoriami.
  • Wsparcie dla istniejących protokołów sieciowych: dane można wymieniać przez HTTP(S), FTP, rsync, SSH.
  • Efektywna praca z dużymi projektami: system Git według zapewnień Torvaldsa, a także według testów fundacji Mozilla, jest o rzędy wielkości szybszy niż niektóre konkurencyjne rozwiązania.

Każda rewizja to obraz całego projektu: w przeciwieństwie do innych systemów kontroli wersji, Git nie zapamiętuje zmian między kolejnymi rewizjami, lecz kompletne obrazy. Z jednej strony wymaga to nieco więcej pracy aby porównać dwie rewizje, z drugiej jednak pozwala np. na automatyczną obsługę zmian nazw plików.

Git jest rozwijany dla systemu operacyjnego GNU/Linux, ale może być też używany na innych systemach operacyjnych bazujących na Uniksie, takich jak BSD czy Solaris. Oficjalny port na Windowsa używa Cygwina (emulatora środowiska POSIX), jednak jest on o wiele wolniejszy niż na systemach używających POSIX-a natywnie. Istnieją też porty natywne na Windows (używające MinGW) i są w fazie produkcji.

Git server – przydatny dodatek do Git

Jako rozproszony system kontroli wersji, Git nie wymaga odrębnej aplikacji serwerowej. Istnieją jednak pakiety rozszerzające oryginalne oprogramowanie, przede wszystkim o kontrolę dostępu, wsparcie dla zarządzania wieloma repozytoriami, czy interfejs WWW. Przykłady niektórych popularnych projektów to GitHub, BitBucket, GitLab, Git Daemon, Gitolite, Gerrit, Gitiles, Bonobo Git Server, Git Server.

Tak, wiem – to dosyć trudny akapit, ale dokładnie oddaje to, co może git. W praktyce będzie on dla nas i uczniów trochę „przezroczysty”, tzn. będziemy z niego korzystać, ale nie musimy tak do końca idealnie i dokładnie wiedzieć, jak on działa. Wystarczy, że będziemy „czuć” i „używać” – a z czasem poznamy jego podstawowe funkcje na tyle, że przestaniemy się obawiać pracy z gitem 😉 Chciałbym tym artykułem dać trochę tła technicznego dla dalszych artykułów, które będę publikował. Mam nadzieję, że wraz z kolejnymi artykułami zobaczycie, że git nie gryzie 😉

Od razu chcę zaznaczyć dwie ważne kwestie:

1) We wszystkich moich przykładach będę używał systemu FREE_Desktop – to edukacyjny remiks systemu Linux Mint 19, o którym piszę w moich planach na rok szkolny 2018/2019. Ten system tworzę za darmo dla edukacji – kto chce, może go sobie pobrać, zainstalować na komputerach szkolnych – to wszystko legalne i za darmo – i możecie mieć w pracowni 2 (dwa) systemy: Windows + FREE_Desktop.

W tym systemie dostępny jest git lokalny, a także Atom – edytor, który również opiszę w kolejnym artykule.

2) Ponieważ do centralizacji idealnie nadają się Git Serwery, w moich przykładach będę posługiwał się systemem GoGS – który opisuję w kolejnym artykule, dostępnym pod adresem https://git.abixedukacja.eu – każda szkoła może korzystac z dowolnego systemu Git Serwer, ale również dzięki projektowi https://pracowniainformatyczna.pl może mieć taki system u siebie w szkole, dzięki czemu unika problemów związanych z RODO i bezpieczeństwem licencji (żadne dane nie opuszczają murów szkoły, zatem podlegają pod Edukacyjny wyjatek Prawa Autorskiego, a w zakresie RODO szkoła nie korzysta z usług firmy trzeciej do przetwarzania danych).

Adam Jurkiewicz

 

Published inBiblioteki i dodatkiOpisy oprogramowania

One Comment

Dodaj komentarz