Использование Subversion
Рабочий цикл
Типичная итерация рабочего цикла с Subversion включает следующие этапы.
Обновление рабочей копии из хранилища (svn update) или ее создание (svn checkout).
Изменение рабочей копии. Изменения директорий и информации о файлах производится средствами Subversion, в изменении же (содержимого) файлов Subversion никак не задействован — изменения производятся программами, предназначенными для этого (текстовые редакторы, средства разработки и т. п.):
новые (еще не зафиксированные в хранилище) файлы и директории нужно добавить (команда svn add), то есть передать под управление версиями;
если файл или директорию в рабочей копии нужно удалить, переименовать, переместить или скопировать, необходимо использовать средства Subversion (svn mkdir, svn delete, svn move, svn copy);
просмотр состояния рабочей копии и локальных (ещё не зафиксированных) изменений (svn info, svn status, svn diff);
любые локальные изменения, если они признаны неудачными, можно откатить (svn revert).
При необходимости — дополнительное обновление, для получения изменений, зафиксированных в хранилище другими пользователями и слияния этих изменений со своими (svn update).
Фиксация своих изменений (и/или результатов слияния) в хранилище (svn commit).
Ветвление
Ветвление является важным аспектом работы систем управления версиями, поскольку типичные приёмы управления версиями (по крайней мере, при разработке программного обеспечения) подразумевают использование ветвей. Subversion обладает достаточно развитыми возможностями для ветвления и слияния (однако не поддерживает слияние переименованных файлов и директорий).
Пример эволюции ветвей в Subversion:
На рисунке условно показан пример эволюции ветвей в хранилище. Зелёным цветом показана основная линия разработки проекта (англ. mainline, trunk), жёлтым — ветви, синим — метки, пурпурным — ветвь, разработка которой прекращена. Красными стрелками показаны слияния изменений.
Git
Git — распределённая система управления версиями файлов. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. На сегодняшний день поддерживается Джунио Хамано (англ. Junio C. Hamano).
Примерами проектов, использующих Git, являются ядро Linux, Drupal, Cairo, GNU Core Utilities, Mesa, Wine, Chromium, Compiz Fusion, FlightGear, jQuery и некоторые дистрибутивы Linux (см. ниже). Программа является свободной и выпущена под лицензией GNU GPL версии 2.
- Средства удаленного управления
- Классификация
- Средства удаленного администрирования
- Семейство unix
- Семейство Windows
- Средства удаленного управления рабочим столом
- Практика
- Виртуальные машины
- История и развитие
- Типы виртуализации
- Практика
- Резервное копирование и синхронизация
- Резервное копирование информации
- Синхронизация данных
- Типовые задачи синхронизации
- Реализации к рассмотрению
- Кластеризация
- Основные положения
- Отказоустойчивый кластер
- Вычислительный кластер
- Реализации к рассмотрению
- Облачные вычисления
- Основные положения
- Облачное хранилище данных
- Образы и развертывание системы
- Образы системы – технологии резервирования данных
- Технологии развертывания операционных систем
- Реализации к рассмотрению
- Средства антивирусной и сетевой защиты
- Технологии обнаружения вредоносного кода
- Технический компонент
- Аналитический компонент
- Плюсы и минусы способов обнаружения вредоносного кода
- Брандмауэры
- Общее описание брандмауэров
- Функции брандмауэров
- Недостатки брандмауэров
- Общие принципы настройки Firewall
- Обслуживание систем
- Дефрагментация диска
- Восстановление информации на жестком диске
- Восстановление данных с работоспособного жесткого диска
- Восстановление данных с неработоспособного жесткого диска
- Аппаратное обеспечение для восстановления данных
- Системы контроля версий
- Общие положения
- Типичный порядок работы с системой
- История и статус
- Недостатки
- Возможности
- Основные концепции
- Недостатки
- Использование Subversion
- Возможности
- Особенности, преимущества и недостатки