Используете ли вы контроль версий, кроме исходного кода?
Я нашел, что SVN чрезвычайно полезен для документации, личных файлов, среди других, не связанных с исходным кодом.
Какие другие практические применения вы нашли для систем управления версиями в целом?
Ответы
Ответ 1
Я видел, что контроль версий используется для других целей, отличных от исходного кода, например,
- Файлы схемы - набор файлов схемы XML, которые представляют схему реального мира
- Файлы содержимого - содержимое, представленное в определенном формате, привязано к дизайнеру в VStudio, с использованием источника управления, позволяет историю, откатывает все, без взаимодействия с базой данных.
В обоих случаях мы замечаем, что в основном текстовые файлы, основные причины, по которым эти файлы находятся в исходном управлении, в отличие от "текстовых записей в базе данных", заключаются в том, что
- файлы, которые могут нуждаться в возможности сравнивать версии
- история (поскольку на них работают несколько пользователей)
- способность отката к более ранней версии
- маркировка и выпуски путем получения определенной метки
- если вы используете Team Foundation (TFS), все шаблоны scrum с рабочими элементами и т.д.
- не задействована база данных, нет дополнительной разработки для всех вышеперечисленных
Ответ 2
На одной из моих ранних работ мы использовали CVS для контроля версий DNS. Это был в основном дешевый и грязный способ резервного копирования файлов зон.
Я также слышал о людях, использующих систему управления версиями для своих домашних каталогов.
Ответ 3
В течение моего заключительного семестра в школе я взял два класса, каждый из которых имел большой, требующий больших затрат проект в конце семестра. В течение всего семестра они также требовали нескольких длинно-бумажных документов. Я активно использовал SVN для обоих классов, чтобы отслеживать каждое изменение, которое я сделал для каждой статьи и проекта.
Я больше всего "напишу все это сразу", когда речь заходит о написании, и, как правило, теряют мой мозг, если я пытаюсь распространить процесс на несколько сеансов. Уметь отличать последние версии моих бумаг помогло мне вернуться в нужное русло.
Ответ 4
Я редактирую много документов в LaTeX, поэтому я использую SVN для хранения файлов и изображений tex и т.д. Удобно делать Diffs, и, надеюсь, спасет меня, если у меня будет катастрофа.
Ответ 5
Как правило, все, что требуется для процесса сборки, я вставляю в исходный контроль. Единственная проблема, которая возникает, - это если у вас есть резорбции, подготовленные другими отделами, например. Маркетинг, который входит в вашу установку, например.
Ответ 6
У меня есть папка в пути с именем bin с полезными утилитами, например, из sysinternals и других. Я использую svn, чтобы обновлять их на разных машинах. Кроме того, такие вещи, как скрипты powershell, vimrc файлы и т.д., Отлично подходят для централизации.
Ответ 7
Я даже не думал использовать его для личных вещей, но в проектах программного обеспечения я проверяю почти все, что не может быть регенерировано позднее (примеры этого включают исполняемые файлы и документы, генерируемые кодом). Документация всегда проверяется. Презентации для клиентов проверяются и помечены вместе с базой кода, используемой для демонстрации, если была демонстрация.
Я думаю, что SVN и CVS недостаточно "дружелюбны" для нетехнических пользователей, но мне сейчас интересно, возможно ли использовать контроль версий для неинжиниринговых проектов...
Ответ 8
Большинство документов, которые будут рассматриваться более чем одной парой глаз человека. Это невероятно полезно, например, на этапах планирования проекта, когда аналитик обновляет документ требований, и вы хотите увидеть, что изменилось с момента последнего его просмотра. Вики также имеют эту функциональность, natch. Мы используем SharePoint для этих целей, но выбираем вашего поставщика.
Ответ 9
Я часто использую управление версиями для обычных файлов, потому что у меня есть один ноутбук, настольная машина на работе и домашний рабочий стол, на котором я тоже много работаю (я работаю дома два дня в неделю).
Новый сеанс в любом из них начинается с script, называемого "start", который обновляет кучу проверок и заканчивается script, называемым "stop", который передает некоторые вещи в VCS или показывает мне хотя бы изменения.
Я использую его для:
- my one-file Getting Things Done task list (см. yagtd, инструмент, который я использую)
- моя база паролей (я должен был отправить это предложение в подкаст StackOverflow в ответ на вопрос Джоэл)
- все мои случайные заметки и файлы по проектам
- куча электронных таблиц (включая ту, которая отслеживает некоторые личные вещи день за днем)
- некоторые изображения (например, используемые веб-аватары)
Кроме того, я написал что-то сверх Subversion для управления файлами конфигурации для обеих систем и учетных записей пользователей. У меня так много учетных записей на многих машинах, и я устал всегда переучивать, как настроить мой shell/vim/... поэтому теперь я храню большинство этих вещей в управлении версиями. Это включает файлы подписи электронной почты, кучу сценариев оболочки в $HOME/bin,...
Ответ 10
Я использую контроль версий практически для всех моих документов для любых целей.
Я использую Mercurial, поэтому настройка нового репозитория в данном каталоге - это вопрос простого "hg init", который я нашел гораздо меньше, чем создание нового репозитория Subversion.
Я также обнаружил, что RCS отлично работает в любой ситуации, когда вам нужно синхронизировать файлы - я использую это вместо rsync для всех моих потребностей синхронизации. Также проще сделать резервные копии - клонирование репозитория в другое место/машина/диск означает, что я могу просто внести изменения в это местоположение, что еще проще с помощью репозитория push по умолчанию. Если вы не изменяете дистанционное репо, вам даже не нужно слишком беспокоиться о настройке, отличной от стандартной.
Одной из самых приятных вещей для меня является то, что я могу синхронизировать, создавать резервные копии или что угодно в любой системе, к которой у меня есть SSH-доступ. (Ну, если бы они установили меркурий для меня в Uni, тогда я мог бы!)
Ответ 11
В моей компании группа разработчиков стремится использовать Subversion почти для каждого электронного документа. Это зависит от возможности "блокировать" файлы, которые нельзя объединить, например документы Excel. SVN обеспечивает функцию "блокировки по требованию", а процесс "блокировка", "изменить" и "совершить" является достаточно простым.
Инженеры-программисты находятся на борту, но есть сопротивление со стороны инженеров-механиков. Они хотят использовать одновременные функции совместного редактирования Excel, например. Они не адаптировались к методу get-lock, модификации, фиксации транзакций.
TortoiseSVN позволяет вам различать документы Word, которые я считаю чрезвычайно полезными. Он также поддерживает слияние, по-видимому, хотя я был слишком цыпленком, чтобы попробовать эту функцию...
Я хотел бы серьезно рассмотреть DVCS, например git или Mercurial. Но, если он не может блокировать файлы двоичного файла (т.е. Несъемные) файлы (таким образом, он больше похож на централизованную модель для таких файлов) и/или объединять используемые форматы двоичных файлов, он не будет вписываться в мое использование компанией.
Я просто хочу, чтобы все софтверные компании предоставили хорошие инструменты для разграничения и слияния для своих фирменных форматов документов. Это увеличило бы ценность систем управления версиями для патентованных форматов doc.
Ответ 12
Да, у меня есть каталог doc в git. Я содержит список дел, календарь и несколько других документов.
Ответ 13
Я использую SVN для проверки изменений в конфигурационных файлах Asterisk VOIP Server. У меня есть один репозиторий с папкой, соответствующей каждому из нескольких серверов. Эта папка содержит все содержимое/etc/asterisk.
Ответ 14
Я использовал Subversion для всего: от источника управления, создания среды, сценариев установщика и всего того, что развивается. Я также создал репозиторий для нетехнических пользователей для двоичных файлов, в данном случае старых документов Excel и Word. Это сработало хорошо, потому что мы потеряли функциональность слияния. Но это позволило всем нашим пользователям получить целую кучу информации, которая была в основном отредактирована двумя или тремя людьми довольно легко. И с простыми инструкциями по обновлению до того, как вы сделаете какое-либо редактирование (при необходимости заблокируете), а затем справитесь с конфликтами (проверьте, что вы обновили, а затем удалите свою копию и выполните обновление), они смогли отлично справиться с хранилищем, хотя я не уверен, что когда-либо им нравилось.:)