Quizá has visto el gran artículo sobre Despliegue de Drupal con Git Submodules, de Randy Fay. Gestiono este sitio usando esa estrategia, pero a veces olvido cómo se realiza cada operación. Por ello, las recojo aquí para mi propia referencia.
Para obtener toda la información sobre los submodules:
git submodule foreach git fetch origin
Ahora en el directorio de cada submódulo hacemos:
git pull
Si queremos cambiar de rama de ese submódulo, usamos:
git branch -a # ver las ramas disponibles
git checkout 7.x-2.x # la rama a la que deseamos cambiar
Para comitearlo, vamos a la carpeta contrib otra vez y hacemos:
git add contrib-module-name
Para terminar, actualizamos:
drush updb --debug -y
Quizá encuentres algunas advertencias por dependencias no resueltas. En ese caso, para añadir la dependencia:
git submodule add --branch 7.x-1.x git://git.drupal.org/project/entity.git sites/all/modules/contrib/entity
Finalmente, para actualizar el core:
git merge drupal/7.x drush updb --debug -y
Una vez hecho esto en nuestro sitio de DESARROLLO, y comprobado que todo funciona correctamente, actualizamos en el servidor tras la copia de seguridad de rigor:
git pull
git submodule update --init
drush updb --debug -y