Git Workflow and Policies - nozavroni/csvelte GitHub Wiki

Note: This is a work in progress. This is my first crack and doing open source well. There will definitely be some trial and error involved so don't laugh too hard at me when you read this and I'm wayyy off. ;)


How do we use Git on this project?

Before I get into details, read "Comparing Workflows", a document describing the most common workflows for distributed version control systems such as git.

Once you've read that document, you will understand what I'm talking about when I reference the various workflows it describes. This library will likely be using a hybrid of the Gitflow, Feature Branch, and Forking workflows. The reason for this is that it isn't a large enough library nor does it have enough contributors to really necessitate any of these workflows in their entirety. I intend to take what I need from each of them and leave the rest.

Master branch

The master branch in CSVelte will be for the latest stable release of CSVelte, whether that be a patch, a minor release, or a major release. Every time we increment CSVelte's version number we will need to create a tag on the master branch designating the new release version.

Branching on master

Do not branch on the master.

Development branch

The development branch is where all development on CSVelte should be happening. Eventually there will be multiple major versions of CSVelte being maintained simultaneously. Each major version should have its own branch under the development branch and all features, bug fixes, etc. should then be branched off of that major version's branch and then eventually merged back into it when development is complete.

Major release branches

Each major release will have its own branch under the development branch and its name should be formatted as such: "major/{version#}".

Hotfixes

If there is some type of emergency fix that needs to be released immediately, it will be branched off of the most current development version branch and, if necessary, a patch release will be made from that version ASAP.