Я аспирант по электротехнике, и в моей лаборатории есть различные проекты, связанные с ультразвуком. У нас есть много кода для выполнения моделирования, но сейчас наша ситуация такова, что любой данный скрипт имеет ~ 5 разных версий. Кроме того, один человек может разработать код для имитации распространения волн, в то время как другому нужен этот код для выполнения другого моделирования. Это приводит к тому, что код отправляется туда и обратно по электронной почте.
Я предложил контроль версий своему консультанту, и она говорит, что ей это нравится, но у него нет времени на управление VCS, поэтому его придется настроить таким образом, чтобы потребовать как можно меньше обслуживания. , Очевидно, что мы не выпускаем программное обеспечение для широкой публики, поэтому не имеет значения, если внутренняя структура является нетрадиционной.
Большинство лабораторий не являются профессиональными программистами, но нам всем нужно писать код MATLAB, а также некоторые другие вещи. Итак, я не ожидаю, что пользователи будут так хороши в чистых коммитах и тому подобном, поэтому было бы хорошо, чтобы у каждого было свое «рабочее место» или что-то в этом роде. Но, честно говоря, я когда-либо использовал контроль версий только для 3 человек одновременно, поэтому я не уверен, как это настроить.
Поэтому я спрашиваю, как лучше всего это сделать. Я использовал только Subversion, но мне интересно, если это правильный выбор. Нам нужна система, которая будет (отсортирована по значимости по убыванию):
- требует небольшого обслуживания
- быть простым в использовании и изучении, так как не все использовали управление версиями
- есть интеграция с оболочкой (мы все используем Windows XP)
- Легко устанавливать разрешения и предоставлять каждому свое рабочее пространство
- легко установить и запустить
Итак, (1) Какой VCS является лучшим выбором, и (2) как мы должны его структурировать. Спасибо за помощь.