Это очень важные вещи, если вы собрались работать по серьезному. Что же такое эти системы контроля версий? Постараюсь объяснить на примере. Вы разрабатываете приложение, сделали первый удачный образец программы, сделали второй, третий и тут, ни с того ни сего, по каким-то не понятным причинам этот вариант начал работать уж очень плохо. Вы не понимаете в чем дело… Что делать? Перелопачивать весь код в поисках ошибки. Удачи вам! Это же не выход. Для того чтобы как-то упростить жизнь разработчику придумали вот эти системы. Они осуществляют:

  • контроль версий программы;
  • показывают разницу между тем, что было до изменений в файле и после них;
  • позволяют «откатить» версию файла, папки, проекта до предыдущего состояния;

На сегодняшний день существует достаточно большое количество программных продуктов систем контроля версий (как платных, так и бесплатных). Из личного опыта могу рассказать о работе с такими замечательными программами как Perforce и TortoiseSVN. Хотя достаточным будет рассказать о любой из них, так как принципы работы любой системы контроля версий схожи между собой.

Конечно же, предоставлю пример. Как тут без этого? Это же руководство поверхностных знаний как ни как!

Предположим, у вас имеется проект, написанный на C# и вы желаете забросить этот проект в систему контроля версиями. С чего начать? Да просто создайте пустой каталог где вам угодно. В моем случае я создаю директорию на разделе “D:/TSVN/ MouseEmulatingSoftware”.

“MouseEmulatingSoftware” – это и есть название нашего будущего репозитория. Дальше жмем правой кнопкой мыши и из выпадающего меню выбираем “TortoiseSVN->Create repository here”. В ответ на это всплывет окошко с уведомлением от TortoiseSVN “The repository was successfully created.” На данном этапе мы просто создали репозиторий, который пока пустой (без файлов нашего проекта). Для того чтобы добавить файлы интересующего нас проекта необходимо перейти к директории нашего проекта и правой кнопкой мыши выбрать “TortoiseSVN->Import”.

 

 

Всплывет окошко, в котором будет сказано, какие именно файлы добавлены и все такое подобное. Это значит, что все прошло успешно.

Подвожу временные итоги. Мы создали репозиторий и забросили в него проект. Всё! Теперь им можно пользоваться. Рассказываю как.

Репозиторий он на то и репозиторий, чтобы раздавать исходники. Я к тому, что мы имеем возможность с любого места из нашей файловой структуры получить исходники репозитория. Я по два раза не повторяю, не повторяю…

Давайте удалим исходные файлы из директории:

“d:\Projects\MouseEmulatingSoftwareSources\”. Удалили? Теперь на этой же директории щелкаем правой кнопкой мыши и выбираем “SVN Checkout…”. Открывается окошко:

 

 

Жмем “OK” и файлы из репозитория (“file:///D:/tsvn/MouseEmulatingSoftware”) закачиваются к нам в папку “D:\Projects\MouseEmulatingSoftwareSources ”.

 

 

Только что мы обновились из репозитория, который создали минуту назад!

Сымитируем ситуацию, будто бы мы чего то там поменяли в коде и забыли что именно, но программа уже работает неправильно. Щёлкаем на папке правой и выбираем “TortoiseSVN->Check for modification”. Открывается форма:

 

 

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

 

 

Думаю для введения хватит, и так всё разжёвываю. Не в обиду!)

Еще одно замечание. Это руководство показывает, как создать локальную версию программы контроля версий. Для работы в сети нужно произвести дополнительные настройки и установку программного обеспечения (например, сервера Apache).