Първи стъпки - it1208 управляващи развитието на информационните системи

Много хора, които не са запознати с модерни системи за контрол на версиите, като се има предвид посочените по-горе проблеми, които се опитват да "изобретяваме колелото" за ежедневните задачи, свързани с работата на променящата се информация. За да разберете как система за контрол на версиите може да улесни този процес, нека разгледаме накратко развитието на подходи за създаване на версии.

Версиите "ръчно"

Първи стъпки - it1208 управляващи развитието на информационните системи

Тези подходи са много прости, което е защо те са толкова популярни сред обикновените потребители, но те имат редица сериозни недостатъци:

Ситуацията се усложнява още повече, ако работите едновременно с няколко файла, както го прави в разработката на софтуер. Очевидно е, че подкрепата за няколко версии на ръчно е неудобно, и бързо се превръща в скъпо.

традиционните модели

Местните системи за контрол на версиите

Софтуерните разработчици са първите, които изпадна в решение за версиите проблеми. В основата на първите системи за контрол на версиите са сравнителни файл алгоритми и прости местни обекти на базата данни. Промените, записани в базата данни на "снимки", за да заснемат всички извършени промени.

Първи стъпки - it1208 управляващи развитието на информационните системи

Тези изображения съдържат само променените файлове, което води до намаляване на режийни за съхранение на файлове и опростяват търсенето на историята на промените. Освен това, системата за контрол на версиите, за да възстановите всички файлове, които са под контрол на версиите, изцяло във всеки одит.

Централизирани системи за контрол на версиите

Въпреки това, следващото голямо предизвикателство е необходимостта да се работи с фирми, чието хранилище е на друг компютър. За да се реши, е да се създаде централизирана система за контрол на версиите. Както подсказва името, тези системи използват централен сървър за съхранение на файлове и ревизии. Един потребител работа с документи, трябва първо да се получи правилната версия на документа, за да го в централно хранилище.

Този подход има много предимства, особено над местните системи за контрол на версиите. Например, всеки знае кой какво прави в проекта. Администраторите имат контрол над гранулиран, който може да направи това, което и, разбира се, да управлява такава система е много по-лесно, отколкото на локалната база данни на всеки клиент машина.

Първи стъпки - it1208 управляващи развитието на информационните системи

Този подход обаче има и своите недостатъци. Най-очевидната - централизираната сървър е слабо място на цялата система. Ако сървърът върви надолу за един час, а след това един час, разработчиците не могат да общуват, и никой не може да се запише новата версия. Ако повреден диск с централна база данни, а не имате резервно копие, вие губите абсолютно цялата история на проекта, с изключение на няколко работни копия, а останалите клиенти. Местните системи за контрол на версиите са склонни към същия проблем: ако цялата история на проекта се съхранява на едно място, рискувате да загубите всичко.

В допълнение, системите за централизиран контрол версия ви принуди да използвате всички операции мрежови ресурси във всяко едно отношение "по" местен.

разпределен модел

Разпределени системи за контрол на версиите, които включват Git. погледнете на проблема по-широко. За разлика от централизирани системи, състоящи се от версии на сървърни и клиентски инструменти, разпределени системи предлагат средства за създаване, клониране и синхронизиране на хранилища.

При нормална работа, хранилище не се различава от локален: Можете да правите промени, създаване на ревизии, да видите историята и възстановяване на файлове от предишни одити. И с работата в екип редовно синхронизирате хранилище с други разработчици на транзакции (или централно хранилище), и система за контрол на версиите, се осигурява целостта на промените, и свежда до минимум възможността за конфликт.

Първи стъпки - it1208 управляващи развитието на информационните системи

В своята организация централно хранилище, не се различава от тези хранилища, те работят с всички клиенти. Съответно, всеки нов клиент, като се започне работа с хранилището, получава не само на работа копие, но истинското "клонинг" на хранилището - реалната работна копие и цялата история. В този случай, всичко, което може да се направи с главният източник може да се направи с местна.

Освен това, повечето такива системи ви позволяват да работите с множество отдалечени хранилища, така че може едновременно да работи с различни групи от хора в един проект. Например, в един проект може едновременно да поддържа няколко вида работни процеси, които не могат да бъдат централизирани системи.