TortoiseSVN - Репозиторий на локальном хосте, затем рабочие копии на локальном и онлайн Возможный? - PullRequest
1 голос
/ 30 октября 2011

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

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

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

Поэтому я хочу использовать tortoiseSVN для решения этой проблемы.

Моя учетная запись хостинга является общей учетной записью хостинга с hostgator, которая НЕ поддерживает SVN-репозитории.

Правильно ли я считаю, что SVN работает так, что моя «живая» копия ДОЛЖНА быть хранилищем? Или я упускаю суть?

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

Большое спасибо.

Tom

Ответы [ 2 ]

2 голосов
/ 30 октября 2011

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

Сначала у вас есть сервер SVN, это может быть на вашем ноутбуке, но желательноОтдельно с автоматическим резервным копированием и т. д.

Тогда на вашем локальном компьютере у вас есть рабочая копия.Рабочая копия - это в основном клон содержимого на сервере, но с вашими локальными изменениями.Когда вы удовлетворены своими локальными изменениями, вы фиксируете (отправляете) изменения на сервер.Если вас не устраивают ваши локальные изменения, вы можете легко вернуться к версии на сервере (или к более старой версии).

Чтобы получить что-то в вашей производственной среде, не имеет ничего общего с svn.Это называется процессом развертывания или процессом выпуска.Процесс развертывания обычно компилируется, создает резервную копию установщика или собирает файлы для установки и, наконец, устанавливает / копирует результат в вашу производственную среду.

«Основная» копия вашего приложения / веб-сайта должна находиться на сервере svn,Чтобы запустить что-то в производство, вы запускаете сценарий или выполняете ручную процедуру для передачи содержимого из рабочей копии в производство.

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

Редактировать
Чтобы уточнить: ваша "живая" копия не должна абсолютно не быть хранилищем.Хранилище не структурировано как обычное файловое дерево с обычными файлами в нем.Больше похоже на последовательность изменений.
Ваша "живая" копия должна предпочтительно не быть рабочей копией.Рабочая копия содержит специальные папки и файлы для отслеживания «материалов», которые вам не нужны на вашем общедоступном веб-сайте.Ваша живая копия должна быть копией соответствующих файлов в рабочей копии.Либо с copy *.html /www-folder/ или svn export, либо с помощью более сложного метода.

0 голосов
/ 31 октября 2011

Один из лучших ответов - использовать распределенную систему управления версиями , где ваш веб-сайт представляет собой зеркальную ветку или непосредственно хранилище (или рабочую копию, то же самое в DVCS ).
Таким образом, вы получаете прямую выгоду от контроля версий!

Для этого вы можете использовать Bazaar, Git или Mercurial (или любые другие DVCS, это только основные).

...