bitbucket предназначен только для размещения исправленных файлов?
Основная услуга bitbucket - размещение файлов под контролем версий, но есть также способ хранить там произвольные файлы.
Итак, если я или мой друг-разработчик редактируем index.php, bitbucket будет размещать только index.php?
В типичном проекте каждый файл, принадлежащий продукту, проверяется в системе контроля версий, а не только index.php. см. этот пример
с этого момента я должен работать на localhost и загружать изменения на blueshost? больше не нужно редактировать прямо на blabla.com/beta? или я все еще могу работать на bluehost, может быть, на blabla.com/beta2?
Mercurial не требует рабочего процесса исправления. Но я рекомендую вам установить Mercurial там, где вы редактируете файлы. Например, вы можете напрямую видеть, какие изменения вы сделали с момента последней фиксации, без необходимости копировать файлы с вашего сервера в локальный репозиторий.
Я настоятельно рекомендую рабочий процесс, в котором где-то в репозитории находится скрипт, который генерирует архивный файл, который передается на сервер, содержащий версию репозитория при создании архива. Эта информация о версии также должна где-то храниться на сервере (не обязательно в общедоступной области), поскольку эта информация может оказаться очень полезной, когда что-то пошло не так.
Когда мне нужно отредактировать какой-либо файл, могу ли я сначала загрузить обновление из bitbucket, я вношу свои изменения на localhost, обновляю bitbucket для отредактированных файлов и загружаю на bluehost?
Есть несколько разных подходов к передаче данных на сервер:
- экспортировать локальное репо в архив и передать его на сервер (
hg archive production.tar.bz2
), это наиболее безопасный вариант, поскольку он не зависит от какого-либо дополнительного программного обеспечения на сервере. Кроме того, в зависимости от размера архива этот подход может привести к потере большой пропускной способности.
- работать на сервере и копировать измененные файлы обратно, но я не рекомендую этого делать, так как очень легко пропустить что-то важное
- установить mercurial на сервере, работать в рабочей копии там и
hg export
локально там в производственную зону
- установить mercurial на сервере и
hg fetch
из битбакета (или любого другого доступного для сервера репозитория)
- установите mercurial на сервере и
hg push
из вашей локальной рабочей копии на сервер (а затем hg update
на сервере)
Последние два пункта могут сделать репозиторий публичным. Это представление может быть как хорошим, так и плохим, в зависимости от того, что содержится в вашем репозитории, и от того, хотите ли вы поделиться контентом. Если вы хотите поделиться контентом или можете ограничить доступ к www.blabla.com/beta/.hg, вы можете клонировать его прямо со своего веб-сервера.
Также обратите внимание, что вам не следует возвращать файлы с паролями или критическими секретами, даже если вы ограничили доступ к хранилищу. Гораздо удобнее возвращать файлы шаблонов (с другими именами, чем в производственной среде), а также копировать и редактировать эти файлы на сервере.
person
Rudi
schedule
16.07.2010