Изучение системы управления версиями и ее хорошее освоение [закрыто]

StackOverflow https://stackoverflow.com/questions/8747

  •  08-06-2019
  •  | 
  •  

Вопрос

С чего мне начать изучение систем контроля версий?В прошлом я использовал SVN, Team Foundation и Sourcesafe, но мне не кажется, что я понимаю это полностью, и моя команда, похоже, тоже этого не понимает.

Какие моменты наиболее важны для освоения?Я понимаю, что это отличается от VCS к VCS, но ради этого вопроса мы можем предположить, что Subversion - это VCS, о котором мне больше всего интересно узнать.

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

Это было полезно?

Решение

Статья Википедии о контроле версий - отличное место для начала

Контроль версий

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

Не знаете, что такое ветка?Пойди узнай, как они работают :)

Бесплатная онлайн-книга по подрывной деятельности есть по адресу Управление версиями с помощью Subversion который дает бесценную ссылку.

Другие советы

Я думаю, что наиболее важными моментами, которые необходимо усвоить относительно систем управления версиями, являются следующие:

  • ценность небольших, частых проверок /коммитов
  • маркировка, ветвление и слияние
  • откаты
  • разрешение конфликтов
  • эксклюзив противнеисключительный заказ
  • непрерывная интеграция
  • Разработка на основе тестирования и автоматизированные модульные тесты по отношению к системам управления версиями
  • разветвляющийся

Если вы разобрались с этими основными понятиями, то это практически все, что вам когда-либо понадобится знать для управления версиями :)

Есть пара бесплатных электронных книг на эту тему.Попробуй:

Управление версиями С помощью Subversion: Управление версиями с помощью Subversion

Система управления версиями Subversion (PDF): Управление версиями Subversion

Я прочитал и рекомендовал бы первое.Не читал "Subversion Version Control", но это выглядит довольно подробно.

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

Я думаю, что документация Subversion - хорошее место для начала.Я обнаружил, что Википедия на самом деле не помогает, поскольку она охватывает только "фундаментальную" точку зрения.

В Книга о Подрывной деятельности как упоминал Алекс, я бы особенно рекомендовал главу 1, хотя это может быть слишком низким уровнем, если у вас уже есть некоторый опыт работы с Svn.Глава 4 подробно описывает ветвление и слияние, но это довольно технический вопрос.

Что мне очень помогло, так это Руководство по ежедневному использованию в документации TortoiseSVN;в нем рассматриваются наиболее важные операции в стиле учебника.

Я думаю, что самые важные вещи, которые вам нужно усвоить, это ветвление, объединение и пометка.Понимание этого требует времени и практики, поэтому я бы настоятельно рекомендовал создать небольшой домашний проект в локальном репозитории, чтобы вы могли поэкспериментировать.Я думаю, важно понимать, что вся система основана на различиях:слияние - это не что иное, как автоматическое применение изменений, внесенных в одной ветке, к коду в другой ветке, вместо того чтобы исправлять код самостоятельно.Такие вещи, как конфликты (на понимание которых мне потребовалось довольно много времени), являются всего лишь последствиями этого.

Но, конечно, я тоже все еще учусь :)

Я также, как и вы, никогда по-настоящему не чувствовал себя на 100% комфортно с SVN или SourceSafe.

Проверьте Переменчивый. Быстрый Старт и Контрольные таблицы
также отличный шпаргалка от Донгу Ли (его сайт, похоже, не работает, поэтому я отсканировал его и загрузил на свой)

С Mercurial все казалось намного более гладким и легким, не знаю почему, потому что по командам он не сильно отличается от других.

Я не уверен, какой у вас опыт работы с системами контроля версий, но для тех, кто не имеет предварительных знаний об этой концепции, я рекомендую прочитать первые несколько глав Книга о подрывной деятельности.Некоторые из описанных там вещей специфичны для Subversion, но многие концепции "универсальны" для систем контроля версий и способов работы с ними.

Я думаю, очень важно, чтобы люди приложили усилия, пытаясь понять основные концепции и обоснования, лежащие в основе систем контроля версий, прежде чем начинать их использовать.Слишком часто я вижу, как разработчики используют лишь небольшое подмножество функций своей системы, потому что они не понимают базовых концепций и поэтому либо не видят смысла в использовании того, что они считают "продвинутыми" или "ненужными" функциями, либо они просто боятся делать это, опасаясь что-то сломать или вызвать проблемы для проекта.

Столкнувшись с этим явлением со многими разработчиками в прошлом, я недавно написал краткое изложение того, что я считаю рекомендации по управлению версиями в моем блоге.

Проверьте МЕРЗАВЕЦ.Поговорим об этом здесь.

ИМХО, лучшим сетевым ресурсом для управления конфигурацией был бы Проект ACME автор : Брэд Эпплтон

Вам следует прочитать обо всех шаблонах SCM и Анти-шаблонах.Все технические термины SCM четко определены на этом сайте, и есть много статей о методах ветвления, agile SCM и других важных материалах.

Это, вероятно, даст вам достаточную теоретическую базу для работы с любой конкретной версией инструмента.

Что касается книги о Подрывной деятельности, то она, вероятно, станет Официальной Книга о подрывной деятельности о котором упоминалось выше.Он доступен онлайн бесплатно или вы можете приобрести печатную копию.

ИМХО, это Книга:Книга Берчука о шаблонах SCM

Управление версиями на примере Эрика Синка это хорошо и легко для понимания

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top