Советы по переходу на использование SVN или GIT для управления нашим кодом на сервере? - PullRequest
0 голосов
/ 02 февраля 2012

Наша текущая ситуация:

  • 1 сервер Apache (размещен)
  • 30 ГБ данных, сотни папок / проектов
  • файлы имеют формат 99% html / php / js / css, с кучей pdf / ppt / docs и т. Д.
  • Несколько разработчиков, работающих из разных мест, используя собственные компьютеры
  • Некоторые разработчики имеют доступ только к определенным каталогам (используя разные учетные записи ftp)
  • Все обновления производятся напрямую с FTP, сохраняя поверх старых файлов
  • Хостинговая компания делает базовые ежедневные / еженедельные резервные копии, но доступ к этим файлам требует их помощи

Теперь мы знаем, что это не оптимальное решение. Время от времени кто-то случайно удаляет рабочие файлы с неправильными и т. Д. И т. Д.

Что мы должны сделать с этим:

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

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Argh !! Я должен был сказать это. :)

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

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

Я бы не пошел с SVN. Никакого нового проекта не должно быть, если вы начинаете с чистого листа. С git я бы начал со следующего:

  1. Создание списка подпроектов на основе структуры папок (без перекрывающихся файлов / папок)
  2. Отправьте их в отдельные репозитории git
  3. Создайте главный проект git и импортируйте все эти git-репозитории в виде подмодулей в правильный путь
  4. Дайте разработчикам права на запись для репозитория, как и раньше
  5. Однако все они должны быть в состоянии прочитать все хранилища
  6. Один git clone главного репозитория, за которым следует команда submodule init, инициализирует репозиторий для каждого разработчика
0 голосов
/ 02 февраля 2012

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

Итак, давайте перейдем кВаши запросы:

All files are automatically backed up, so mistakes can be recovered easily 
and securely

Файлы в системе редакций индексируются для каждого коммита (commit == save), поэтому вы можете увидеть полную историю файла.В функциях сборки, таких как diff, вы можете найти точные изменения, внесенные из одной ревизии в другую.Вы можете восстановить случайно удаленные файлы .Вы хотели бы (и цените) изучить структуру хранилища и узнать, как она помогает облегчить выпуск, находить исправления путем ветвления кода .Итак, SVN здесь охватывает почву.

Создание пользователя и настройка авторизации и аутентификации - это вопрос редактирования текстового файла с именем пользователя, паролем и его областями.

Devs shouldn't have to change their workflow much, we really, really like the
auto-save-to-FTP functionality of Dreamweaver & WinSCP

Для SVN доступно множество плагинов для различных IDE.Я не работал в Dreamviewer, но, похоже, работа с SVN в Dreamweaver без проблем.Я думаю, это может немного изменить ваш рабочий процесс, но это хорошее изменение.В любом случае, вы всегда можете иметь такие вещи, как Tortoise SVN , чтобы предоставить вам замечательный пользовательский интерфейс для работы.

We get the new, better way of working to affect also the current files

Очень легко импортировать файлы в SVN.Как только вы запустите базовый сервер SVN, все, что вам нужно, это просто запустить svn import my/project/folder svn://svn.server.location/reponame/projectname/trunk для каждого проекта или что-то подобное.И вы приступаете.

Я предлагаю посмотреть на

PS: Кстати, мой ответ верен любой современной VCS.Все, что вы выберете, будет лучше, чем у вас сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...