Почему Вы ещё не пользуетесь системами контроля версий?

Системы контроля версий полезны не только программистам, но и всем кто хранит свои наработки в цифровом виде и не хочет терять результаты своей работы: художникам, дизайнерам, писателям, композиторам и многим другим.

Вот чего вы лишаетесь не используя системы контроля версий (далее VCS – Version Control Systems).

Хранение всех версий Вашей работы

Понадобилась функция, которую удалили позавчера? Изменили что-то, но предыдущий вариант кажется лучше?

Используя VCS вы могли бы вернуть нужную версию файла меньше чем за минуту.

Автоматизация бекапов

Создаёте папки с версиями, и даете им называния вроде: “27.03.2013” или “Project copy 25”?

VCS позволяют делать бекапы без лишних телодвижений, да и столько раз за день сколько понадобится.

Метаданные

Не помните от какого числа нужен бекап?

VCS позволяют задать сообщение для каждой новой версии, в котором можно кратко описать изменения с предыдущей версии, а так же задать дополнительные пометки. В итоге, это помогает быстро находить нужные изменения даже в очень больших проектах.

Удалённое хранилище

Храните бекапы на том же HDD что и основную работу?

VCS позволяют настроить сервер для хранения версий практически на любой машине. Это может быть ваш компьютер, домашний сервер, сервер вашего друга, ваш сервер на Digital Ocean или один из многих бесплатных хостингов для VCS.

Так, если выйдет из строя HDD, ваша девушка выкинет ваш компьютер в окно или Вас ограбят, можно будет продолжить свою работу в тот же день, всего лишь найдя компьютер подключённый к интернету.
Кроме того, Вы всегда сможете работать с нескольких машин без необходимости носить последнюю версию на флешке.

Хранение дельты

Многие VCS хранят только изменения между двумя версиями. Так, если у вас есть проект весом 1.2Гб, а вы изменили только две строки, то VCS сохранит в новую версию только эти две строки. Другие VCS сохраняют только изменённые файлы. Это помогает с умом расходовать место выделенное под хранение версий.

Использование дельты

Можно забирать только дельту между двумя версиями. Это полезно, если вы хотите передать кому-нибудь изменения без передачи полных версий изменнённых файлов (особенно полезно, если файлы большие).

Совместная разработка

VCS – идеальный способ организовать обмен наработками по сети.
Существует множество вариантов взаимодействия, которые Вы можете использовать. Эта тема очень объёмна чтобы раскрывать её в этой статье. Если вы хотите работать с кем-то через локальную сеть или интернет (или и так и так), то посмотрите в сторону VCS и почитайте соответствующие статьи.

Кроссплатформенность

Если часть ваших программистов испозует Linux, часть Windows, а часть – Mac, вы не заметите никакой разницы, как если бы вы работали с VCS на одной ОС.

Безопасный обмен данными

Большинство VCS поддерживают шифрованное соединение, что позволяет безопасно обмениваться наработками по сети.

Интеграция с другими средствами

Наиболее известные VCS встроены во многие современные IDE. Более того, их можно без усислий интегрировать с системами управления проектами, wiki и багтрекерами. Большинство хостингов, предоставляющих VCS, так же предлагают интегрированные с ними средства.

Это далеко не всё, но думаю этого достаточно, чтобы хорошенько задуматься об использовании систем контроля версии в своей работе.

Ложка дёгтя

Самая большая проблема в использовании VCS — её интеграция в рабочий процесс команды.
Если разработчики ещё не вышли на тот уровень, когда использование VCS является необходимостью для поддержания нормального рабочего процесса, то они, вполне возможно, негативно отнесутся к решению по внедрению VCS в рабочий процесс.

Найдите в интернете воодушевляющую статью вроде этой и аккуратно распространяйте среди разработчиков. Пусть внедрение VCS будет совместным решением, а не навязанным кем-то одним.

Поделиться

Only 1 comment left Go To Comment

  1. RuWhyNot / Post Author

    На себе почувствовал ещё одно преимущество метаданных.
    Когда через несколько месяцев возвращаешься к неоконченному проекту, случается что не помнишь на чём остановился в последний раз.
    А так посмотрел на последние правки и уже намного проще вернуться к потерянному контексту.

Leave a Reply