Вы находитесь на странице: 1из 3

вационных разработок: проблемы и перспективы.

Сборник статей
международной научно-практической конференции. – 2016, .С. 39-
42.

УДК 004.9

Системы контроля версий и актуальность перехода с SVN


на GIT
Version Control System and relevance of the transition from
SVN to GIT
Острицова В. А.,
студентка 4-го курса факультета прикладной информатики
Кубанский государственный аграрный
университет имени И.Т. Трубилина

АННОТАЦИЯ: Изучены системы контроля версий, выявлена


их необходимость и эффективность в процессе разработки. Произ-
веден сравнительный анализ самых популярных систем и доказаны
преимущества GIT перед SVN.
ABSTRACT: Version control systems have been studied, their ne-
cessity and efficiency in the development process have been revealed. A
comparative analysis of the most popular systems was made, the ad-
vantages of SVN before GIT were proven.
КЛЮЧЕВЫЕ СЛОВА: система контроля версий, репозиторий,
конфликты, слияние, проект, разработка, SVN, GIT.
KEYWORDS:version control system, repository, conflicts, merge,
project, development, SVN, GIT.

В наш век информационных технологий каждый, кто работал в


команде над одним проектом или даже самостоятельно с необходи-
мостью сохранять изменения по несколько раз в день, хотя бы раз
слышал о системах контроля версий. Изначально VCS создавались
для комфортной работы команды, без путаниц, без конфликта вер-
сий и возможностями отслеживания версий и отката к ним [1].
Чтобы грамотно оценить уже существующие системы, разбе-
ремся с основными терминами области:

582
1) Репозиторий – хранилище, база данных;
2) Trunk – основное направление разработки;
3) Branch (''Ветка'') - направление разработки, которое суще-
ствует независимо от другого направления, но имеет с ним связь и
единую историю. Ветка изначально лишь копия чего-либо, но впо-
следствии разработчик создает свою собственную историю.
4) Commit – команда, которая выполняет фиксацию изменений
файлов проекта в WC в репозиторий [2].
К основным преимуществам систем контроля версий относят
удобство централизованного репозитория, возможность обновления
файлов и слияния веток проекта. С ростом популярности таких си-
стем возникли и бурные споры о том, какая же система самая луч-
шая. На сегодняшний день самыми известными являются СКВ SVN
и GIT. Попробуем разобраться в преимуществах каждой из них.
Итак, GIT – это распределенная система, она не имеет центра,
у каждого разработчика будет своя копия хранилища-репозитария
(слепок) со всеми «коммитами» (от английского commit - фиксиро-
вать). Соответственно, такие операции, как checkout и commit про-
изводятся с локальным репозиторием. После фиксации и отправле-
ния (push) изменений на сервер, эти файлы будут доступны каждо-
му.
Subversion (SVN) – бесплатная система управления версиями с
открытым исходным кодом, использующая «виртуальную» файло-
вую систему. Работа в данной СКВ идет в одной ветке trunk, и зна-
чительным недостатком здесь является то, что задачу надо доделы-
вать до конца без возможности «коммита».
Если говорить о слиянии и конфликтах, без которых не обхо-
дится ни одна разработка, то GIT справляется с их решением лучше
SVN, так как он имеет множество стратегий объединений, в основ-
ном это трехстороннее слияние. SVN лишь отслеживает, где про-
изошли слияния, однако модель его остается линейной.GIT же яв-
ляется частью истории, в этой СКВ заложено согласование слия-
ния, т.е. фиксация с двумя родителями. Это позволяет Git быть бо-
лее интеллектуальным во избежание конфликтов.
В большой базе данных особо важен вопрос экономии места и
времени, поэтому стоит отметить, что SVN сохраняет файлы цели-

583
ком, тогда как GIT лишь метаданные изменений, что, разумеется,
занимает гораздо меньше ресурсов.
В качестве главных недостатков SVN выделяют сравнительно
низкую скорость и нехватку распределенного управления версиями.
Также при работе была выделена нехватка набора команд для рабо-
ты с репозиторием.
Еще одним преимуществом GIT является доступность в режи-
ме оффлайн полной истории разработки. Однако при многих уже
перечисленных достоинствах, нельзя не отметить тот факт, что по-
сле SVN перейти на GIT довольно непросто, это довольно высокий
порог обучения, да и вдобавок ограниченная поддержка Windows
[3].
Итак, вот уже не менее 10 лет системы контроля версий – это
главный и незаменимый помощник любой команды разработчиков.
Коллективное владение кодом, его безопасное, а главное удобное
хранение с историей изменений, непрерывная интеграция и значи-
тельная автоматизация разработки.
Несмотря на значительную схожесть GIT и SVN, GIT вырвался
вперед за счет развитость инструментов и возможности хранения в
нем результатов работы по нескольким параллельно выполняемым
задачам. При этом промежуточные результаты не влияют друг на
друга. Финальные протестированные результаты достаточно легко
комбинируются в одну итоговую версию приложения. Также нема-
ловажную роль во всеобщей популярности Git’a в мире CVS сыграл
ресурс GitHub, на котором размещены тысячи репозиториев на раз-
личных языках.

Список литературы
1. Системы управления версиями. Пособие для инженеров, ху-
дожников и писателей. 2011г. [Электронный ресурс] / Ресурс для
IT-специалистов «Хабрахабр». – URL:
https://habrahabr.ru/post/122060/ (Дата обращения: 20.02.2018).
2. Про Git на пальцах (для переходящих с SVN). 2009г. [Элек-
тронный ресурс] / Ресурс для IT-специалистов «Хабрахабр». – URL:
https://habrahabr.ru/post/68341/ (Дата обращения: 20.02.2018).
3. Чакон С., Штрауб Б. Pro GIT / C. Чакон, Б. Штрауб. – Apress;
2nd ed. edition (November 9, 2014). – С. 146-149.

584

Вам также может понравиться