6. Women in Technology
●
Wymiana doświadczeń
●
Aktywizacja kobiet
●
Inspirowanie do działania
●
Przełamanie barier i stereotypów
●
Wspieranie kobiet w osiągnięciu zamierzonych celów
●
Wspólna edukacja
●
Kobieta może być pasjonatką i wybitną specjalistką!
8. System kontroli wersji
System kontroli wersji (ang. version/revision
control system) – oprogramowanie służące do
śledzenia zmian głównie w kodzie źródłowym
oraz pomocy programistom w łączeniu zmian
dokonanych w plikach przez wiele osób w
różnych momentach czasowych.
9. O co w tym wszystkim chodzi?
● Gdzieś na dysku komputera lokalnego albo serwera
znajduje się repozytorium - specjalna baza danych.
● Tam znajdują się wszystkie projekty wraz z historią
zmian.
● Każdy z nas na naszym dysku lokalnym ma swój
katalog będący odzwierciedleniem części lub całości
repozytorium.
● Katalog roboczy oprócz plików i podkatalogów zawiera
również ukryte foldery zawierające dane niezbędne do
śledzenia dokonywanych zmian.
10. Po co nam to?
● Możemy obejrzeć historię zmian projektu (szukanie
"winnego")
● Możemy "wyłuskać z niego" dowolną wcześniejszą wersję
interesującego nas pliku.
● Możemy skasować cały katalog roboczy i odtworzyć go w
aktualnej wersji, bądź w jakiejkolwiek wcześniejszej.
● Możemy także dzielić się pracą z innymi i dzięki
wspólnemu repozytorium przekazywać sobie wzajemnie
prace i uaktualniać nasz folder, o zmiany innych.
11. Jakie jeszcze są korzyści?
● Pozwala nam porządkować naszą pracę.
● Umieszczenie repozytorium na osobnym dysku czy
serwerze zwiększa bezpieczeństwo naszych danych.
● Mechanizmy kontroli wersji ułatwiają tworzenie kopii
bezpieczeństwa, przygotowywanie pakietów do
dystrybucji, kopii przyrostowych zawierających jedynie
zmienione pliki.
12. Wróćmy do system kontroli wersji..
Systemy kontroli wersji dzielą się na:
● lokalne, pozwalające na zapisanie danych jedynie na
lokalnym komputerze (np. SCCS oraz RCS)
● scentralizowane, oparte na architekturze klient-serwer
(np. CVS, SVN)
● rozproszone, oparte na architekturze P2P (np.
BitKeeper, Code Co-op, Git, svk).
13. Pierwsza grupa zapisuje jedynie wersje plików z
lokalnego komputera. W rozwiązaniach
scentralizowanych istnieje jedno centralne
repozytorium, z którym wszyscy użytkownicy systemu
synchronizują swoje zmiany. Rozwiązania
rozproszone pozwalają na prowadzenie
równoprawnych, niezależnych gałęzi, które można
dowolnie synchronizować ze sobą nawzajem, np.
poprzez e-mail (Code Co-op). Wybór odpowiedniego
typu systemu kontroli wersji zależy od potrzeb
projektu.
14. GIT
Git – rozproszony system kontroli wersji. Stworzył go
Linus Torvalds jako narzędzie wspomagające rozwój
jądra Linux. Git stanowi wolne oprogramowanie i
został opublikowany na licencji GNU GPL w wersji 2.
Pierwsza wersja narzędzia Git została wydana 7
kwietnia 2005.
15. Dlaczego GIT?
● Jest to oprogramowanie open source na licencji GNU
GPL
● Wiele dużych projektów korzysta z GITa jako systemu
kontroli wersji: Android, GIMP, Linux, jQuery, Symfony
itd
● Dzięki prostym algorytmom scalania jest szybszy niż
inne.
● Jest to system rozproszony.
16. Najważniejsze cechy
● 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żna dodawać
własne algorytmy.
● 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.
17. Najważniejsze cechy
Wsparcie dla istniejących protokołów sieciowych: dane
można wymieniać przez HTTP(S), FTP, 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.