Используете ли вы контроль версий не только для исходного кода?[закрыто]

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

  •  08-06-2019
  •  | 
  •  

Вопрос

Я обнаружил, что SVN чрезвычайно полезен для документации, личных файлов, среди других применений, не связанных с исходным кодом.Какие еще практические применения вы нашли для систем контроля версий в целом?

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

Решение

Я видел, как контроль версий использовался для других целей, не связанных с исходным кодом, таких как,

  1. Файлы схемы - набор файлов XML -схемы, представляющих реальную схему.
  2. Файлы содержимого - содержимое, представленное в определенном формате, привязано к конструктору в VStudio, использует систему управления версиями, позволяет вести историю, откатывает все, без взаимодействия с базой данных

В обоих случаях мы замечаем, что это в основном подробные файлы, основными причинами наличия этих файлов в системе управления версиями, в отличие от "текстовых записей в базе данных", является то, что

  1. файлы, которым может потребоваться возможность сравнения версий
  2. история (поскольку над ними работают несколько пользователей)
  3. возможность отката к более ранней версии
  4. маркировка и выпуск продукции путем получения определенной этикетки
  5. если вы используете Team Foundation (TFS), то все шаблоны scrum с рабочими элементами и т. Д
  6. никакая база данных не задействована, никакой дополнительной разработки для всего вышеперечисленного нет.

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

На одной из моих ранних работ мы использовали CVS для контроля версий DNS.В основном это был дешевый и грязный способ резервного копирования файлов зоны.

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

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

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

Я редактирую много документов в LaTeX, поэтому использую SVN для хранения файлов tex, изображений и так далее.Удобно для выполнения различий и, надеюсь, спасет меня, если у меня случится катастрофа.

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

У меня есть папка по пути под названием bin с полезными утилитами, такими как sysinternals и другие.Я использую svn, чтобы поддерживать их в актуальном состоянии на разных машинах.Кроме того, такие вещи, как скрипты powershell, файлы vimrc и т.д.их здорово держать централизованными.

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

Я думаю, что SVN и CVS недостаточно "дружелюбны" для нетехнических пользователей, но теперь мне любопытно, как можно использовать контроль версий для неинженерных проектов...

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

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

Новый сеанс в любом из них начинается со скрипта под названием "start", который обновляет кучу проверок, и заканчивается скриптом под названием "stop", который фиксирует некоторые вещи в VCS или показывает мне, по крайней мере, изменения.

Я использую его для:

  • мой список задач по выполнению задач в одном файле (см. ягтд, инструмент, которым я пользуюсь)
  • моя база паролей (я должен был отправить это предложение в подкаст StackOverflow в ответ на вопрос Джоэла)
  • все мои случайные заметки и файлы по проектам
  • куча электронных таблиц (включая ту, которая отслеживает некоторые личные вещи изо дня в день)
  • некоторые изображения (например, веб-аватары, которые я использую)

Кроме того, я написал кое-что поверх Subversion для управления файлами конфигурации как для систем, так и для моих учетных записей пользователей.У меня так много учетных записей на стольких машинах, и я устал постоянно переучиваться, как настроить мою оболочку /vim /...так что теперь я храню большую часть этих вещей и в системе управления версиями.Это включает в себя файлы подписи электронной почты, кучу сценариев оболочки в $HOME /bin, ...

Я использую контроль версий практически для всех своих документов для любых целей.

Я использую Mercurial, поэтому настройка нового репозитория в данном каталоге - это вопрос простого "hg init", который я нашел гораздо менее сложным, чем настройка нового репозитория Subversion.

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

Одна из самых приятных вещей для меня - это то, что я могу осуществлять синхронизацию, создавать резервные копии или что-то еще в любой системе, к которой у меня есть SSH-доступ.(Ну, если бы они установили mercurial для меня в универе, тогда я мог бы!)

В моей компании группа разработчиков стремится использовать Subversion практически для каждого электронного документа.Это зависит от возможности "заблокировать" файлы, которые нельзя объединить, например документы Excel.SVN предоставляет функцию "requires-lock", а рабочий процесс get-lock, modify, commit достаточно прост.

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

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

Я бы хотел серьезно рассмотреть DVCS, такие как git или Mercurial.Но если только он не может заблокировать двоичный формат файла (т. е.не объединяемые) файлы (таким образом, становясь все более похожей на централизованную модель для таких файлов) и / или объединять двоичные форматы файлов, которые мы используем, это не впишется в практику моей компании.

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

Я использую SVN для проверки изменений в файлах конфигурации VOIP-сервера Asterisk.У меня есть один репозиторий с папкой, соответствующей каждому из нескольких серверов.Эта папка содержит все содержимое файла /etc/asterisk.

Я использовал Subversion для всего, начиная с системы управления версиями, сред сборки, сценариев установки и всего прочего, что касается разработки.Я также настроил хранилище для нетехнических пользователей для двоичных файлов, в данном случае старых документов Excel и Word.Это сработало нормально, учитывая, что мы потеряли какую-либо функциональность слияния.Но это позволило всем нашим пользователям довольно легко получить целую тонну информации, которая в основном была отредактирована двумя-тремя людьми.И с помощью простых инструкций о том, как обновить перед тем, как вы сделаете какое-либо редактирование (при необходимости заблокируете), а затем разберетесь с конфликтами (проверьте, что вы обновили, а затем удалите свою копию и выполните обновление), они смогли довольно хорошо справиться с проблемой репозитория, хотя я не уверен, что им это когда-либо действительно понравилось.:)

Да, у меня есть каталог doc в git.I содержит список задач, календарь и несколько других документов.

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