Drupal: Features + Drush + Git Aliases to Boost Productivity
If you are using the Features module to export your Drupal site configuration, Drush, and Git as your VCS, try these aliases out to save a ton of time and boost your productivity.
Create a Feature to encapsulate your site's configuration. In this example we'll call it
mysite_config
-
Add a configuration parameter in the git repo for your site:
git config project.config mysite_config
Add these git aliases to your global config to mimic drush shortcuts for feature-update, feature-export and feature-revert (you will need to edit the file directly):
Each is one line
fe = "!sh -c '[ -n $(git config project.config) ] && [ $# = 1 ] && drush -y fe $(git config project.config) $1 || echo \"Usage: git fe <features-component>\" >&2 && exit 1' -"
fr = "!sh -c '[ -n $(git config project.config) ] && drush -y fr $(git config project.config) || echo \"Set the configuration feature: git config project.config <feature-name>\" >&2 && exit 1' -"
fu = "!sh -c '[ -n $(git config project.config) ] && drush -y fu $(git config project.config) && git status || echo \"Set the configuration feature: git config project.config <feature-name>\" >&2 && exit 1' -"
Now, to update your feature, instead of typing drush fu mysite_config
you can simply type git fu
Use git fe
to export a new component to your feature and git fr
to revert the db overrides.
These aliases also asserts the -y
flag to skip through drush's prompts.