Colaboración e implementación de Drupal con Git

Estoy trabajando en un proyecto de Drupal donde necesito lo siguiente:

  1. Implementación usando files MAKE, para que cada vez que vuelva a implementarlo pueda get la última versión de los modules drupal y no necesite mantener un repository para el núcleo drupal.
  2. También es capaz de mantener versiones para modules personalizados.

¿Cómo lo despliego con Git? ¿Es bueno tener un repository único para el proyecto completo, incluido el núcleo de Drupal en el repository o deberíamos usar los files make, si los makefiles, entonces, ¿cómo gestionamos otros modules y temas personalizados?

Además, me gustaría saber cómo hacer un desarrollo queueborativo en Drupal, es decir, cómo mantener la database sincronizada para todos los desarrolladores.

Cualquier otra sugerencia es bienvenida.

Configurar su proyecto como un perfil de installation resolverá sus problemas aquí. Un buen ejemplo de este flujo de trabajo se puede encontrar en https://github.com/sprice/simple, pero está un poco desactualizado. Deberías especificar una versión junto con cada proyecto (module, tema …) en el file make para que tengas un control total sobre las versiones. Algunos perfiles de installation llevarán un file make "stub" que includeá drupal core e instalará todo su sitio. Los modules personalizados pueden includese directamente en el repository de perfil de installation o includese a través del file MAKE. No es necesario que estén en drupal.org pero sí deben estar alojados en línea en algún sitio como github. No recomiendo usar submodules de git como parte de su flujo de trabajo, ya que tienden a romperse.

Todos los sitios que he creado este año se han implementado como distribuciones. Así que todo el desarrollo queueborativo se manejó a través de características que formaban parte del repository de perfil de installation.

Espero que ayude.