Git workflow with submodules for Drupal deployment

Maybe you've seen the great article on Drupal Deployment with Git Submodules, by Randy Fay. I manage this site using that strategy, but some times I forget how every operation is done. So here I'm collecting them for my own reference.

For fetching all the new info from submodules: 


git submodule foreach git fetch origin 

Now we go into each module folder and use:


git pull 

If we wanted to switch to a different branch, we should use:


git branch -a # we see the available branches 
git checkout 7.x-2.x # the different branch 

For commiting it, we go back to the contrib folder and do:


git add contrib-module-name 

At the end, we use:


drush updb --debug -y 

Maybe we see some warnings because of unresolved dependencies. In that case, add the new submodule:


git submodule add --branch 7.x-1.x git://git.drupal.org/project/entity.git sites/all/modules/contrib/entity 

Finally, updating core:


git merge drupal/7.x drush updb --debug -y 

Ok, so we've done this on our DEVELOPMENT site. If everything is OK, now it's time to update the server, after doing a backup:


git pull
git submodule update --init 
drush updb --debug -y

Tags: 

Comments

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
To prevent automated spam submissions leave this field empty.
By submitting this form, you accept the Mollom privacy policy.