2013-06-18 2 views
1

Я новичок в VCS, и я просто пытаюсь понять, как использовать Bazaar для моей ситуации. Моя ситуация в том, что я сольный веб-разработчик, работающий на веб-сайте, который состоит из веб-сайта в прямом эфире, например. www.mysite.com и стадию разработки/разработки, например. dev.mysite.com. Я использую Bazaar Explorer, так как я не просто тип командной строки. Я просто работаю с одного основного компьютера, и я загружаю файлы на веб-сервер по FTP. У меня Bazaar установлен на моем локальном компьютере Windows.Bazaar: Мне нужны ветки?

Чтобы начать работу, я создал проект Bazaar на своем локальном компьютере. Я придерживался опции «Функциональные ветви» по умолчанию, поскольку в документации Bazarr говорится, что это лучше всего подходит для небольших проектов (но я не полностью понимаю разницу между моделями рабочей области даже после чтения документов). Это создало папку (которую я назвал _Source Control) с sub-sub trunk и .bzr. Я скопировал все файлы проекта (т. Е. Файлы веб-сайта) в багажник и сделал начальную фиксацию.

Теперь мой первый вопрос: Должен ли я просто работать непосредственно с этими файлами или мне нужно создать другую ветку?

Это рабочий процесс разумный подход или есть, очевидно, лучший способ ?:

  • Работа над некоторыми файлами в главном стволе
  • FTP обновленные файлы сайта ступенчатого, как я работаю, чтобы проверить на наличии ошибки, функциональность и т.д.
  • После того, как я достиг точки, где я закончил определенную часть функциональности, совершить мои изменения
  • Загрузить последнюю редакцию живого сайта, используя плагину BZR-загрузки

Тогда как я должен обрабатывать ситуацию, когда обнаруживаю, что последнее обновление ввело проблему, и я хочу перевести веб-сайт обратно в предыдущую версию? Является ли это так:

  • вернуться к предыдущей версии в Bazaar
  • Загрузить этот пересмотр живой сайт с помощью плагина BZR-загрузки
  • то как я могу получить обратно до последней версии, так что я могу работать над устранением проблемы? Это где мне нужна ветка?
  • когда я обновил файлы снова, чтобы исправить эту проблему, сделать коммит и загрузить последнюю версию на живой сайт с помощью плагина BZR-загрузки

И последний вопрос, является заказ Релевент на всех в моей ситуации?

ответ

2

Feature branches вариант Bazaar Explorer, создает так называемый Shared Repository и одна ветвь называется trunk внутри него (так называемый Repository Tree). В вашем примере:

  • _Source Control == Shared Repository
  • _Source Control/trunk == Repository Дерево

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

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

Теперь о вашем рабочем процессе:

  • Я думаю, что вы можете использовать bzr upload плагин как для сайта ступенчатого и живого сайта.

  • Чтобы отменить свой сайт на предыдущую версию, используйте bzr upload -rREV --overwrite, где REV - это ревизия, которую вы хотите откат. Использование --overwrite выглядит грязным, и это, вероятно, так. Но это единственный способ для меня, я думаю, что это ошибка в моей версии плагина (1.0.1dev), я предлагаю попробовать сначала без этого флага.

  • Чтобы исправить ошибку, не нужно откатываться на месте, просто исправьте ошибку и подтвердите ее, а затем снова загрузите с помощью bzr upload без других флагов, чтобы довести сайт до последней версии.

Существует множество способов работы с базаром. Вы можете реализовать красивый и сложный рабочий процесс или использовать этот несколько грязный, но простой и понятный рабочий процесс. Дайте мне знать, если у вас возникнут дополнительные проблемы.

И нет, вам не нужно checkout в описанной вами настройке.

+1

Очень полезный ответ. Мне нравится идея вашего решения о возврате живого сайта к предыдущей версии с использованием bzr-upload, я даже не думал, что он может быть использован для загрузки более ранней версии. Это упрощает процесс, так как это не связано с возникновением новых ветвей. Я все еще не уверен, что об использовании bzr-upload для обновления промежуточного сайта, поскольку я стараюсь делать много инкрементных обновлений только 1 или 2 файлов, когда я что-то работаю, и у меня может также быть 1 или 2 других файла в сломанное состояние в то же время, поэтому FTP-файлы для меня кажутся мне лучше - по крайней мере, это то, к чему я привык. – AidanCurran

+0

Если вы хотите обновить только 1-2 файла через FTP, вам нужно выбрать отдельные файлы вручную, тогда как 'bzr upload' - это просто одна простая команда, поэтому я не вижу, как FTP будет проще. Использование 'bzr upload' последовательно также гарантирует согласованность между вашим локальным env и бета-сайтом. Кстати, если у вас есть ssh-доступ к вашим сайтам, тогда используйте URL-адреса bzr + ssh: // вместо ftp: // для более эффективных (и безопасных) передач. – janos

+0

FileZilla - это то, к чему я привык, но я могу попробовать его выгрузка на сцену и посмотреть, как это происходит. Правильно ли я предположить, что мне не нужно делать фиксацию до вызова 'bzr upload' для загрузки последних измененных файлов? – AidanCurran

2

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

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

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

Чтобы разобраться с «проблемным» сценарием, вы описываете: во-первых, получите последнюю рабочую ревизию, которая у вас есть. Есть несколько способов сделать что:

  • bzr checkout может быть использован для создания новой проверки конкретной отрасли и пересмотра в другом каталоге. Затем у вас есть каталог, содержащий старую версию и каталог, содержащий новую версию.
  • bzr branch делает для этой цели то же самое, что и bzr checkout, но также создает независимую ветвь в новом каталоге, основанную на указанной ревизии. Это полезно, если, как описано выше, вам необходимо одновременно работать как с старой, так и с новой версией.
  • bzr update может использоваться для переключения текущего каталога на другую версию. Затем вы можете выполнить все, что хотите, для развертывания старой версии и снова использовать bzr update, чтобы вернуться к самому последнему.
+0

Это помогает мне понять. Спасибо за то, что вы указали 3 варианта решения проблемного сценария. Я думаю, что обновление bzr - самый простой вариант. – AidanCurran

+0

На самом деле, вы должны объединить основную (соединительную линию) ветку в новую ветвь функции. Обновите новую ветку функций, чтобы убедиться, что она работает с исправлениями, которые вы сделали в основном. Затем объедините новую ветку свойств обратно в основную. – Les

Смежные вопросы