Repozytorium służy do przechowywania plików - e-Swoi

Transkrypt

Repozytorium służy do przechowywania plików - e-Swoi
Repozytorium służy do przechowywania plików powstających przy pracy nad projektami
we w miarę usystematyzowany sposób. Sam mechanizm repozytorium jest zbliżony do działania
systemu plików, czyli składa się z podkatalogów a w nich z plików będących częściami projektu.
Oprócz przechowywania plików, repozytorium służy także do ich wersjonowania. Co to oznacza?
Że zapisując po raz kolejny ten sam plik w danym podkatalogu, nie powodujemy nadpisania starego
pliku zawartością nowego, lecz nowy staje się najnowszą jego wersją a stara wersja wraz ze swoją
zawartością staje się wersją poprzednią do której zawsze możemy sięgnąć. Jest to bardzo przydatna
cecha, gdy coś co poprawialiśmy okazało się kompletnie błędną koncepcją i chcemy cofnąć się do
wersji, kiedy jeszcze mieliśmy w miarę poprawną implementację bądź wersję pliku. Dla tego
właśnie zapis do repozytorium powinien dotyczyć plików znajdujących się na jakimś bardziej
znaczącym etapie (powszechnie w projektach IT nazywa się je kamieniami milowymi).
Użytkownik sam właściwie określa co jest kamieniem milowym, mogą być duże etapy projektów,
które wdrażają nową funkcję w projekcie, między nimi zaś mniejsze kamienie milowe np.:
„implementacja biblioteki do sortowania tablicy z danymi użytkownika”, na które mogą składać się
jeszcze mniejsze jednostki, na przykład dla wymienione wyżej sortowania, kamieniem milowym
może być: „implementacja metody sortowania bez używania rekurencji”.
Tak więc, określenie co jest ważne i wartościowe na tyle, że opłaca się tworzyć nowy
kamień milowy a więc i nową wersję pliku jest dosyć rozmyte i zależne od użytkownika. Jeżeli
jestem grafikiem i wrzucam kolejną wersję pliku jpg to oczywiście nie tworzę kolejnych wersji
pliku po zmianie pojedynczych pikseli, tylko po znaczących zmianach, których powtórzenie byłoby
dla mnie trudne i czasochłonne.
Zacznijmy więc pracę z repozytorium.
Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:
Po pomyślnym zalogowaniu się, przechodzimy do zakładki znajdującej się w górnej części serwisu
- zatytułowanej „Repo”, klikamy w jej tytuł przechodząc jednocześnie do części serwisu
odpowiedzialnej za repozytorium:
Widok na razie jest pusty, nie odświeżyliśmy widoku repozytorium oraz nie stworzyliśmy jeszcze
żadnego. Aby zobaczyć co mamy na liście naszych repozytoriów, klikamy w przycisk znajdujący
się poniżej ramki zatytułowany „Pokaż repozytoria”. Widzimy na razie pustą listę swoich
repozytoriów:
Teraz możemy stworzyć swoje pierwsze repozytorium. W tym celu wybieramy przycisk „Dodaj
nowe repozytorium”. Otwiera się okienko z formularzem parametrów nowego repozytorium:
W polu „Nazwa repozytorium” wpisujemy jak nasze repozytorium ma się nazywać. Nazwa
repozytorium nie może być krótsza niż 5 znaków, nie powinno zawierać polskich liter, spacji
znaków specjalnych typu „@!#$%^&*(){}[]'”;,?/”. Pole komentarz służy do głębszego opisu
repozytorium ale nie jest wymagane. Klikamy „OK”. Stworzyliśmy właśnie swoje pierwsze
repozytorium:
Jakie są zasady tworzenia repozytoriów i przechowywania w nich własnych projektów. Otóż nie ma
jednej narzuconej z góry metody w jaki sposób przechowywać projekty w repozytoriach.
Generalnie każdy projekt ma swoje specyficzne wymagania i strukturę katalogów plików i
właściwie pod ten konkretny projekt tworzy się pewien standard. Można na przykład przyjąć, że
każdy nowy projekt znajduje się w osobnym repozytorium a wszystko co związane z pojedynczym
projektem znajduje się w podkatalogach danego repozytorium. Można stworzyć jedno repozytorium
a każdy z projektów to jeden podkatalog w ramach tego jednego repozytorium. Wszystko to zależy
od przyjętej konwencji, od złożoności projektów (ilości plików i katalogów które wchodzą w skład
projektu) w końcu jeżeli projekt, który był mało skomplikowany po jakimś czasie ewoluuje w
kierunku bardziej złożonego i jego repozytorium już nie przystaje do tak skomplikowanej struktury,
zmienia się strukturę jego repozytorium. Jest to więc, rzecz dosyć luźna. Na potrzeby serwisu, jako
że tworzone projekty nie będą aż tak złożone, możemy przyjąć zaś, że tworzymy jedno
repozytorium a w nim podkatalogi, które przechowują projekty.
Stwórzmy zatem pierwszy katalog projektu w nowo utworzonym repozytorium „moje_kody”.
Klikamy prawym przyciskiem myszy na pozycję wyświetlającą nowo stworzone repozytorium i
menu kontekstowym wybieramy pozycję „Dodaj podkatalog”.
Stworzona jest nowa pozycja w naszym drzewie w którą wpisujemy nazwę katalogu. Enter
potwierdza wpisaną nazwę.
Wybierając w menu kontekstowym tworzenie kolejnych podkatalogów, odtwarzamy strukturę
drzewa naszego projektu. Przy wybieraniu z drzewa katalogów, poniżej przycisków dodawania
repozytorium i pokazywania repozytoriów, zauważyć można żółte pole. Pokazuje się ono tylko w
przypadku wybrania pozycji w drzewie, która jest katalogiem. Służy ono do dodawania plików do
repozytorium:
Aby dodać plik do repozytorium należy wybrać katalog, do którego chcemy dodać plik i kliknąć w
żółte pole. Otworzy się standardowe okno wyboru pliku. Wybieramy plik z dysku lokalnego, który
chcemy umieścić w repozytorium. Po załadowaniu pliku plik pokaże się w drzewie w kontekście
podkatalogu, który wybraliśmy podczas klikania w żółte pole. Poniżej widok przykładowego
repozytorium z podkatalogiem – projektem „SRU Autoinstall” i czterema podkatalogami: „bin”,
„etc”, „mount” i „docs” oraz załadowanymi do nich plikami:
Przy każdym z plików widoczny jest numer w nawiasach okrągłych. Numer ten to numer wersji
danego pliku. Jak widać na powyższej ilustracji, większość plików ma tę wartość równą 1. Oznacza
to, że jest tylko jedna pierwsza rewizja (wersja) tego pliku w repozytorium. Plik docs/README ma
dla tego parametru wartość 2. Co oznacza, że są dwie wersje tego pliku w repozytorium.
Mamy więc stworzone w miarę kompletne repozytorium. Jak pracujemy z repozytoriami? Samo
repozytorium służy do przechowywania własnych prac i prac zespołu, który pracuje nad różnymi
częściami projektu. Projekt zazwyczaj znajduje się na dysku twardym, komputera na którym
pracujemy, zmieniamy pliki projektu, testujemy projekt. Jest to tak zwana kopia lokalna projektu.
W momencie kiedy uznamy, że jakąś część projektu nad którą pracowaliśmy, warto zamieścić w
repozytorium, wrzucamy zmienione pliki ze swojej kopii lokalnej do odpowiednich podkatalogów
w projekcie na repozytorium. Tworząc jednocześnie jak to określiliśmy wcześniej kolejne wersje
tych plików. Repozytorium umożliwia pracę grupową użytkowników, jeden z użytkowników może
pracować nad graficzną częścią projektu, podczas gdy inny zajmuje się pisaniem kodu jakiegoś
innego fragmentu projektu. Przy czym każdy z nich może pobrać cały projekt wraz ze zmianami
załączonymi przez innych użytkowników.
Załóżmy, że jestem nowym użytkownikiem i chciałbym pobrać całe drzewo projektu, który już
istnieje. Chcę aby pobrana kopia stała się moją kopią lokalną nad którą będę pracować na własnym
komputerze. Klikam więc na katalogu z repozytorium prawym przyciskiem myszki i wybieram
pozycję „informacja”. Otwiera się okno dialogowe, w którym oprócz informacji o klikniętym
katalogu, mam także link do archiwum przechowującym cały projekt ze wszystkimi plikami i
podkatalogami, link ten jest zatytułowany „Link do katalogu”. Klikając w ten link pobieram
standardowe archiwum tar spakowane przez bzip2. Mogę je rozpakować w dowolne miejsce na
swoim komputerze. Wewnątrz znajdują się wszystkie pliki projektu, mogę dodawać własne i
zmieniać istniejące. Przy czym należy zwrócić uwagę, że jeżeli jakiś podkatalog nie istnieje w
repozytorium a jest w mojej kopii lokalnej. Muszę ten podkatalog w odpowiednim miejscu
repozytorium stworzyć tak aby odwzorować strukturę drzewa swojej kopii lokalnej w drzewie
repozytorium. Poniżej zrzut ekranu dla okna z informacją o katalogu:
W skrócie jak wyglądają poszczególne kroki w pracy z repozytorium od jego stworzenia.
1. Na swoim komputerze w wybranym miejscu, tworzę drzewo projektu czyli podkatalog z
nazwą projektu wewnątrz którego znajdują się wszystkie pliki i podkatalogi będące częścią
projektu. To jest moja kopia lokalna projektu.
2. Tworzę repozytorium w serwisie a w nim podkatalog o nazwie takiej samej jak katalog
mojej kopii lokalnej. Odtwarzam całe drzewo podkatalogów w repozytorium w serwisie
aby wyglądało jak drzewo mojej kopii lokalnej.
3. Z mojej kopii lokalnej dla każdego katalogu i podkatalogu wrzucam wszystkie pliki z kopii
lokalnej, które powinny znaleźć się w odpowiednich katalogach do repozytorium.
4. Pracuję nad plikami, wprowadzam zmiany w swojej kopii lokalnej. Jeżeli uznaję, że pewien
etap zmian jest już gotowy do opublikowania w repozytorium, wrzucam zmienione pliki w
odpowiednie podkatalogi na repozytorium w serwisie.
1. Jeżeli dołączam do istniejącego projektu, wtedy wchodzę na interesujące mnie
repozytorium, klikam w jego katalog prawym przyciskiem myszki i pobieram archiwum ze
wszystkimi jego plikami.
2. Archiwum rozpakowuję u siebie na dysku do wybranego katalogu. Staje się on moją kopią
lokalną.
3. Dalsza praca wygląda jak w punkcie 4 poprzedniej listy.
Uwaga!
Usunięcie pliku lub katalogu z repozytorium jest bezpowrotne, nie da się odzyskać usuwanego
pliku jeżeli nie masz zrobionej kopii lokalnej. Dla tego trzeba rozważnie posługiwać się usuwaniem
plików i katalogów oraz co jakiś czas pobierać archiwum z kopią projektu aby w razie
przypadkowego usunięcia móc odtworzyć usuwany plik z kopii.

Podobne dokumenty