Skip to content

Branching Etiquette

Nick edited this page Sep 12, 2020 · 10 revisions

Branching Etiquette

As more users engage with geocryology model development, it's important to maintain best practices to maximize productivity in our group workflow. This page will propose a branching etiquette to follow and will serve as a forum for future discussion on the topic.

This template was developed using a GitLab Resource.

Typical Workflow

Git allows users to create changes and add features to a developing work separate from the master branch. Currently, any developer can pull changes from the master branch then push their modifications back to the master branch for others to view. This becomes problematic with multiple users and projects that require longer time intervals to complete. This leads to incomplete features on the master branch, or outdated code being checked out for longer periods of time.

Feature Branching

Going forward, we will aim to follow the GitLab Feature Branching method. This decentralized branching method allows for changes to be made separate from the master, then merged.

Each feature branch receives it's own self-describing title, and should be merged upon completion. It's important to minimize the amount of time spent on a feature before merging back into the master branch. Merge conflicts are difficult to solve once they arise, and can impede productivity.

Example: adding toposcale scaling methods to globsim.

Screen Shot 2020-08-26 at 8 08 58 AM