git-flow in NeuroStars

We decided to organize our collaborative workflow for NeuroStars during GSoC2014 using GitHub and following the git-flow process. The following is an overview of the strategy.


Development Process

For each new feature I will create a new branch off the develop branch in my repository.

Naming convention: anything except master, develop, release-*, or hotfix-*. E.g. api, new-deployment.

When the feature is complete, I will merge back to develop and open a pull request to INCF’s repository.


  • master: the code deployed to live.
    Temporary this branch matches ialbert/master. We need to migrate our current live code (branch to Biostar2 and move the result to this master branch.
  • develop: the latest delivered development changes for the next release.
    Each new feature branch will be based on this.
  • api: a feature branch I’m currently working on to develop API.
  • new-deployment: a feature branch meant for the new deployment strategy based on Docker. It currently contains some work we have done with Vagrant and Docker.
  • biostar1: the old Biostar1 codebase.

Temporary branches

  • dev: old branch, to be removed.
  • old-develop: old branch, to be removed.
  • the code currently running on live.
    We need to migrate this code to Biostar2, merge it to master and develop, then delete this branch.