Хоча це старе питання з прийнятою відповіддю, я вважаю, що ще є місце для іншого.
По-перше, дозвольте сказати наперед, що я не думаю, що Особливості є правильним інструментом для цього завдання, і я запропоную альтернативний набір інструментів.
Обов’язковою умовою для командної співпраці є наявність поетапного сервера для тестування версій розробки проекту, які є окремими від вашого виробничого сервера. Весь код розробки випробовується на стадіонному сервері, і він передається на виробничий сервер лише тоді, коли він стабільний і готовий до розгортання. Однак розробники не працюють безпосередньо на сервері встановлення. Кожен розробник працює на власній робочій станції, використовуючи контроль редагування та управління вихідним кодом (SCM), щоб координувати свою роботу з рештою команди.
Система SCM дозволяє членам групи працювати паралельно над різними гілками коду, не заважаючи один одному. На тестувальному сервері для тестування розгортається лише головна гілка.
Для відображення бази даних між виробництвом, постановкою та робочими станціями є модуль під назвою " Резервне копіювання та переміщення", який можна використовувати, якщо ви перебуваєте на спільному хостингу та не керуєте своєю власною базою даних. Якщо ви керуєте власним сервером баз даних, це єдиний проект на цьому сервері, і ви використовуєте mysql , корисною є наступна пара команд:
Скинути:
mysqldump --all-databases --opt -u root -p > DUMP.sql
Відновити:
mysql -u root -p < DUMP.sql
Якщо ваша не єдина база даних на цьому сервері, скриптуйте якусь версію mysqldump
(або еквівалент, якщо ви не використовуєте mysql ), яка скидає лише ваші бази даних.
Складіть політику, що це база даних на виробничому сервері. Постановочний сервер і робочі станції повинні бути копією виробничої бази, а не навпаки.
Зауважте, що Drupal 7 зберігає всі налаштування адміністратора в базі даних. Це означає, що дзеркальне відображення бази даних між виробничим майданчиком, веб-майданчиком та робочими станціями буде мігрувати налаштування адміністратора без функцій .
Тепер для спільного використання коду:
Стандартним способом обміну кодом між членами команди розробників є використання системи SCM. Drupal, за замовчуванням, керується за допомогою такої системи під назвою git .
Git дозволяє використовувати локальні або віддалені сховища. Якщо члени команди розташовані в одному фізичному просторі, ви можете налаштувати локальне сховище на своєму сервері. Якщо вони поширюються географічно, ви можете встановити віддалений сховище. Якщо ви не заперечуєте проти того, щоб інші читали доступ до вашого коду, який розробляється, ви можете використовувати пісочницю на Drupal.org як віддалений сховище. Ви також можете використовувати проектну область на GitHub . GitHub - це не лише сховище, але й постачається з деякими інструментами для співпраці та дозволяє використовувати як державні, так і приватні сховища.
В основному, система SCM дозволяє членам команди витягувати вихідний код та документацію із сховища, спільним для членів команди, та знову повертати їх після роботи над ним. СКМ відслідковує зміни і якщо виникає конфлікт (тобто хтось намагається натиснути на код, який не містить змін, які вчинив інший член команди), він повідомить вам, а також запропонує спосіб вирішити цей конфлікт.
Зазвичай при деякому сердечному спілкуванні про те, як розподіляються завдання між членами колективу, конфліктів не буде. Але коли система SCM веде облік речей, конфлікти стають керованими, навіть якщо помилки чи комунікація не вдається.
Існує багато навчальних посібників щодо початку роботи та використання git (GIYF). Я рекомендую два: веб - сайт git-scm та Pro Git від Скотта Чакона.