Система управления версиями для веб-проектов [закрыта]

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

  •  08-06-2019
  •  | 
  •  

Вопрос

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

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

Мы работаем в смешанной среде Mac / PC, поэтому Visual Source Safe или что-либо чисто компьютерное не подойдет.Какая-нибудь помощь?

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

Решение

Все системы управления версиями, которые я использовал (CVS, subversion, git), будут обрабатывать двоичные файлы так же, как и текст.Если вы работаете с дизайнерами с ограниченным опытом управления версиями, прямо сейчас subversion предлагает лучший выбор графических интерфейсов.На ПК нет никакой замены для TortoiseSVN, а что касается Mac, то я слышал о нем много хорошего Версии.

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

Что заставляет вас думать, что вы не можете использовать версию, ветку, архив и т.д...графические файлы с Subversion?

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

Вы можете добавить файл любого типа в subversion.Если это двоичные файлы, то сохраненная версия является просто копией, тогда как в текстовых файлах сохраняются только различия;однако сохранение этих других типов файлов в subversion - это совершенно нормально.

Использование надстроек оболочки (Tortoise в Windows) делает это довольно простым.У меня нет опыта работы с клиентами Mac, но я бы предположил, что там есть выбор.

Другие отмечали, что Subversion и ей подобные без проблем работают с двоичными файлами (хотя и не так экономно по объему, как с текстом).Однако требование к резервному копированию базы данных более интересно, и я сталкивался с ним не раз.

В идеале мне бы хотелось иметь текстовое представление разницы между двумя версиями базы данных (schema и data).Применение такого различия приведет вас от одной версии к следующей.Механизм управления версиями мог бы просто сохранять это при каждой фиксации.Rails migrations - отличный способ обработки различий в схемах, но я не видел ничего, что могло бы обрабатывать полные различия в схеме и данных в простом текстовом формате.

В противном случае, я полагаю, вы могли бы проверить текстовый дамп базы данных типа mysqldump генерирует команду для MySQL.Алгоритм diff инструмента управления версиями, вероятно, не справится с этим эффективно, но, вероятно, для этого потребуется меньше места, чем для проверки в непрозрачном двоичном файле базы данных.

Я все еще использую Subversion, а в Windows я использую TortoiseSVN, который включает TortoiseIDiff специально для просмотра различий между файлами изображений.

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

Многие громкие проекты сейчас используют git, включая Ruby on Rails.

Подрывная деятельность имеет предварительно скомпилированные двоичные файлы для Mac OS X.Это также доступно через Порты MacPorts и Финк.Есть пара отличных интерфейсов (помимо командная строка). svnX это клиент с открытым исходным кодом, который существует уже некоторое время, и, как уже упоминалось Версии это очень симпатичный клиент с закрытым исходным кодом, который в настоящее время находится в стадии бета-тестирования.Тебе все равно следует ознакомьтесь с командной строкой, так как вы столкнетесь с проблемами, которые эти графические клиенты не смогут решить.

Subversion обрабатывает двоичные файлы очень хорошо.В прошлом я использовал его для веб-проектов и успешно версировал изображения и Flash-файлы с кодом, который их использовал.

У Mac есть что-то под названием "Version", представляющее собой пользовательский интерфейс subversion, подобный "Tortoise SVN", я нашел его удобным для пользователя и эффективным.

Я также работаю в среде Mac / PC (чертовски вычурные ребята), и subversion - это действительно правильный путь.Я храню там все тексты, изображения, запросы и код.

Мои коллеги, не имеющие отношения к технике, нашли его простым в использовании, как только я объяснил концепцию.

Я бы определенно взглянул на subversion еще раз.Я знаю, это может быть скучно, но чтение книги SVN принесет массу пользы.

Лично я использую Версии для Mac.У него действительно отличный пользовательский интерфейс для взаимодействия с репозиторием subversion.

Что я делаю, так это извлекаю каталог /Trunk проекта из корневого каталога сайта.Таким образом, я могу протестировать и запустить рабочую копию в качестве моей фактической настройки разработчика.Как только я буду готов к запуску, я могу экспортировать файлы из папок репозитория без .svn и загрузить их на производственный или промежуточный сервер.Надеюсь, это даст вам представление о том, какой рабочий процесс вы можете создать, используя subversion.

Я думаю, svn - отличный выбор, некоторые пользователи могут даже использовать git для выполнения локального ветвления.Я запускаю eclipse на своем Mac, поэтому использую комбинацию git, командной строки svn и subversive (плагин eclipse для svn).Вот список клиентов mac svn (большинство из них кроссплатформенные)

http://scplugin.tigris.org/ как TortoiseSVN, но не такой многофункциональный)
http://subcommander.tigris.org/
http://rapidsvn.tigris.org/
http://www.versionsapp.com/
http://www.syncrosvnclient.com/ (не бесплатно $ 59)
http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

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

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

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