SVN - podstawowe pojęcia
Co to jest system kontroli wersji?
Version Control System (VCS) to oprogramowanie, które pomaga programistom współpracować i utrzymywać pełną historię ich pracy.
Following are the goals of a Version Control System.
- Pozwól programistom pracować jednocześnie.
- Nie nadpisuj nawzajem zmian.
- Zachowaj historię każdej wersji wszystkiego.
A VCS is divided into two categories.
- Scentralizowany system kontroli wersji (CVCS) oraz
- Rozproszony / zdecentralizowany system kontroli wersji (DVCS).
W tym samouczku skupimy się tylko na scentralizowanym systemie kontroli wersji, a zwłaszcza na Subversion. Subversion podlega scentralizowanemu systemowi kontroli wersji, co oznacza, że używa centralnego serwera do przechowywania wszystkich plików i umożliwia współpracę zespołową.
Terminologie kontroli wersji
Zacznijmy od omówienia niektórych terminów, których będziemy używać w tym samouczku.
Repository:Repozytorium jest sercem każdego systemu kontroli wersji. Jest to centralne miejsce, w którym programiści przechowują całą swoją pracę. Repozytorium nie tylko przechowuje pliki, ale także historię. Dostęp do repozytorium uzyskuje się przez sieć, działając jako serwer i narzędzie kontroli wersji działające jako klient. Klienci mogą łączyć się z repozytorium, a następnie mogą przechowywać / pobierać swoje zmiany do / z repozytorium. Przechowując zmiany, klient udostępnia te zmiany innym osobom, a pobierając zmiany, przyjmuje zmiany innych osób jako kopię roboczą.
Trunk: Trunk to katalog, w którym odbywa się cały główny program i jest zwykle sprawdzany przez programistów do pracy nad projektem.
Tags: Katalog tags służy do przechowywania nazwanych migawek projektu. Działanie tagu pozwala nadać opisowe i zapadające w pamięć nazwy konkretnej wersji w repozytorium.
Na przykład LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT jest bardziej zapadający w pamięć niż
Identyfikator UUID repozytorium: 7ceef8cb-3799-40dd-a067-c216ec2e5247 i
Weryfikacja: 13
Branches:Operacja oddziałów służy do stworzenia kolejnej linii rozwoju. Jest to przydatne, gdy chcesz, aby proces rozwoju przebiegał w dwóch różnych kierunkach. Na przykład, kiedy wypuszczasz wersję 5.0, możesz chcieć utworzyć gałąź, aby rozwój funkcji 6.0 mógł być oddzielony od poprawek 5.0.
Working copy:Kopia robocza jest migawką repozytorium. Repozytorium jest współdzielone przez wszystkie zespoły, ale ludzie nie modyfikują go bezpośrednio. Zamiast tego każdy programista sprawdza kopię roboczą. Kopia robocza to prywatne miejsce pracy, w którym programiści mogą wykonywać swoją pracę, pozostając odizolowani od reszty zespołu.
Commit changes:Zatwierdzanie to proces przechowywania zmian z prywatnego miejsca pracy na serwerze centralnym. Po zatwierdzeniu zmiany są udostępniane całemu zespołowi. Inni programiści mogą pobrać te zmiany, aktualizując swoją kopię roboczą. Zatwierdzenie jest operacją atomową. Albo całe zatwierdzenie powiedzie się, albo zostanie wycofane. Użytkownicy nigdy nie widzą w połowie ukończonego zatwierdzenia.