Just a sketch of what i am trying to achieve with
git http://git-scm.com/
and
drush http://drupal.org/project/drush

I'm trying to have a local git repo for drupal core. (This folder will be called/named: "drupal-update")
After that, I'll '$ git clone' drupal core to a new folder for a specific site and name it: 'example.com'

Install drush, use drush to get install and enable the modules needed.

Commit the changes in git and the repo for example.com is ready for 'git push' to staging/production server.

"drupal-update" repo on localhost: Updating core/module from a remote git repo

  1. git to pull updated core.
  2. drush to update modules
  3. git to commit updated core/modules

"example.com" repo on localhost: Updating core/module from "drupal-update" on localhost

  1. git to pull updated core.
  2. git to pull updated modules
  3. git to commit updated core/modules

I'm not sure if this is a recommended way to maintain/deploy, taking advantage of git and drush.

I'm new to git and drush is quite easy to learn. If you have a working example, consider sharing it with us =D

Cheers,
Logi Khoo

Comments

drew reece’s picture

I think you are probably doing something similar to me. I wrote about using git: http://pixelchimp.net/blog/pixel-chimp/git-rant

I started with http://www.versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/ as a basis for managing the local copies of Drupal core & contrib modules. I have a third repo that is the local copy of the each site.

I used http://joemaller.com/2008/11/25/a-web-focused-git-workflow/ as a basis for the repo setup to push & pull to a live server. It does require 2 repos on the server, but one is bare so disk usage is not too bad.

I don't think many people approve of using git as a deployment method, since it is designed to be a version control system, but so far it works pretty well. You have to make sure all merges are tidied up locally before pushing because GIT's confilct markers would break a site.

I have only just started with Drush but it seems pretty handy.