There are a lot of powerful developer and deployment tools that are available for Drupal, and they can make your life a lot easier. This guide will walk you through the most commonly used tools, Drush and Features, with a look at the Git version control system as well.
Some of these tools require that you know something about the command line, and all are definitely enhanced with a little bit of basic command line fu. If you are not already familiar with working on the command line, our Command Line Basics series walks through what you need to know to get up and running.
Drush is a great tool that lets you manage your site from the command line, instead of needing to use the GUI for many tasks. In addition to getting things done simply and quickly while you work, Drush can also be used in scripts to automate tedious tasks. We have an overview presentation that explains Drush and demonstrates a number of its features, then we have a step-by-step series to walk you through using Drush yourself.
It is a best practice in the coding and web worlds today to use a version control system (VCS). If you are a single person, or have a large group of people working in the same site, version control is useful in every circumstance. We have two presentations where we talk more about why this is a great tool that everyone should use, and we demonstrate how to use Git. Git is the VCS that Drupal.org uses now, and is a very common VCS in the Drupal and web communities.
Moving code and configuration from a developer site to a staging and production server is a perennial issue within the Drupal community because Drupal stores some configuration settings within the database. When you have a live site with new information going into the database all the time, then it becomes really challenging to start to migrate those configuration settings from your development database to the live database. That's where the Features module comes in. Features exports those settings into code so that you can deploy code between development environments instead of transferring database code. Features works very well with Drush and version control, and you can use all three of these great tools in the Drupal Deployment with Features and Drush tutorial series.
For a more extensive list of resources for Drupal developers, check out our learning pathway for Drupal developers.