Skip to content

Cheatsheet | Collaboration Workflow

Lenny edited this page Apr 12, 2019 · 10 revisions

Overview

This describes all the basic steps required to collaborate on a feature for this project. This assumes that the user already has access to a cloned repository and the virtual environment.

Git flow

The process of collaborating on a feature is broken down into the following high-level steps:

  1. Organize a group of collaborators and identify a lead
  2. The lead creates a base reference branch for the feature
    1. If the feature is being created from scratch the lead initializes a new application for the feature
    2. If a pre-existing feature is being enhanced, no new application is created
  3. The lead pushes the feature branch up to the remote repository
  4. All other collaborators checkout the remote branch from remote repository
  5. All collaborators now work on the feature in parallel, committing file changes together on the same branch and pulling each others changes from the remote repository and pushing their own changes to the remote repository
  6. Collaborators test the feature
  7. The lead finishes the feature branch and merges their new feature back into the develop branch

All of the above steps are described in the following sections. We will be using a subset of the git-flow commands and some Django commands to support this workflow.

Organizing Clusters

Week-to-week we will form feature/collaboration clusters. These are teams of several individuals working together to complete a feature. They will define requirements, goals and expected completion timelines. Furthermore, these teams will select a point-person who will own the issue associated with the feature. Issues are displayed in the

Clone this wiki locally