![]() |
Git for Windows
Приветствую!
Сразу прошу меня извинить если не правильно выбрал раздел для создания темы. Я почитал про Git, почитал про SVN, в большинстве источников пишут, что git более предпочтителен так как SVN идеологически устарел. Раньше я использовал SVN, но на каждой машине был локальный репозитарий не синхронизирующийся с сервером и по сути SVN использовался больше для бекапов и отслеживания изменений внесенных пользователями (коммиты делал только я). Итак, опишу ситуацию. В моём распоряжении имеется некоторое количество машин на которых развернут дистрибутив разрабатываемого нами ПО. ПО предназначено для управления различными устройствами (роботы, электродвигатели и т.д.), в связи с этим некоторые конфигурационные файлы и плагины могут отличаться в зависимости от набора устройств, плюс индивидуальных настроек каждого сервопривода. На этих компах производится отладка без среды разработчика, то бишь версии там релизные, программисты присылают изменения в виде скомпилированных библиотек и прочих необходимых файлов. Мне необходимо сделать так, чтобы всегда было понятно вносились ли какие-либо изменения пользователем со времени последнего обновления, а так же в случае если существует более новая версия можно было подтянуть её из репов. В моём распоряжении имеется сервер на Windows Server 2008 R2. Я хочу развернуть репозитарий на сервере, чтобы программисты могли закоммитить туда обновления, а я мог бы потом на любую машину эти обновления из репов подтянуть. Соответственно у меня есть статический белый IP по которому я и программеры могут подключиться к серверу из любой сети, часть машин клиентских находится в локалке, а часть удаленно. Чтобы всё работало я так понимаю необходимо: На сервере: - настроить SSH сервер (открыть порт, создать пользователей) - поставить Git - создать там репозитарий На клиентских машинах: - настроить SSH - установить Git - подрубиться к удаленному репозитарию - выгрузить из репов на рабочую машину необходимую конфигурацию программы С настройкой мне более менее всё ясно, главный вопрос как организовать наиболее правильно сам репозитарий. Программа по сути у нас одна, но как я писал выше, может отличаться набором подключенных плагинов и содержанием конфигов, плюс еще пару тройку специфических файлов. Так вот, как лучше сделать, для каждой конфигурации делать свой отдельный репозитарий и соответственно тогда придется руками вносить туда изменения и потом коммитить и растаскивать на обновления клиентам? Собрать все конфигурации в одну монструозную версию и залить её в реп, но можно ли тогда сливать на каждый клиент не всё что есть в репе, а только необходимое для конкретной конфигурации? Для примера приведу условное содержание двух трех конфигураций: Код:
Конфигурация 1: Код:
Конфигурация 2: Как было бы наиболее логично организовать репозиторий в таком случае? |
Время: 12:22. |
Время: 12:22.
© OSzone.net 2001-