wiki:DevelopmentWorkflow

This page is a stub and will be extended soon (April 2012).

Our branching model, which represents most of our current workflow, was outlined by planetcruiser on the developer list like this:

Date: Thu, 01 Dec 2011 19:49:01 +0200
To: BeWelcome Developers Team <bw-dev-discussion@bewelcome.org>
Subject: a successful branching model for rox :)

hi all,

today i was unstoppable. :) i just did a big clean-up on gitorious and
the only remaining branches are:

 * master
 * develop

sorry, i just went ahead with it, because it needed doing since a long
time. i hope that's cool with everyone..

the reason behind this is that i want to introduce a simplified version
of http://nvie.com/posts/a-successful-git-branching-model/ - which was
an agreed plan since a while.

now "master" = "develop" = removed "production" branch = what's running
on www. so we have a clean start.

inspired by nvie.com i suggest a few rules:

 1. master is always production-ready, so no-one commits directly there
 2. develop is used for all development, so all devs commit there - duh
 3. once development for a milestone is finished and successfully tested
    we merge develop into master and deploy live from master
 4. hotfixes are committed to develop and individually merged to master
    and deployed from there. or we can use hotfix branches, if that's
    easier
 5. alpha.bewelcome.org (should maybe be renamed to
    develop.bewelcome.org) is being deployed from develop, possibly
    automatically at regular intervals - continuous integration style,
    yeah!
 6. people have as many feature branches as they want - locally

i suggest people do a complete new checkout of the repository, otherwise
things might get a little messy. especially some untracked cache files
gave some headaches when juggling around with old and new branches.

did i forget something?

opinions?

cheers, meinhard.

Bugfixing process

Important: Always push your commits for the current milestone to the develop branch.

Simple

  1. Make sure you are on development branch and that it is up-to-date
    git checkout develop
    git pull
    
  2. Fix the issue..
  3. Commit the fix
    git commit -a -m "Your commit message .. (Ticket #666)"
    
  4. Make sure branch is still up-to-date
    git pull
    
  5. Push changes in develop branch to central repository
    git push origin develop
    

With bugfix branch (for complex fixes)

  1. Create a local topic branch
    git checkout -b mytopicbranch develop
    
  2. Fix the issue..
  3. Commit the fix
    git commit -a -m "Your commit message .. (Ticket #666)"
    
  4. Merge fix into develop
    git checkout develop
    git merge --no-ff mytopicbranch
    
  5. Delete local topic branch
    git branch -d mytopicbranch
    
  6. Push changes in develop branch to central repository
    git push origin develop
    
Last modified 5 years ago Last modified on Jun 29, 2012 4:40:52 PM