Git Workflow
The workflow for the Flashpoint Launcher is loosely built around Gitflow. You can find a more detailed writeup for how this works from Gitkraken.
This page will outline the basic principles. Try not to get too overwhelmed, just focus on the parts relevant to what you're doing.
Please see Making a pull request when you need to push your changes remotely.
Branches
master
- Current release / stable branchdevelop
- Main development branchfeature/**
- Feature branches - Branches off develop - Merges into developrelease/**
- Release branches - Branches off develop - Merges into develop and master- Used to introduce new functionality or breaking changes to stable
hotfix/**
- Hotfix branches - Branches off master - Merges into develop and master- Used to introduce fixes to stable, without including new
develop
branch changes
- Used to introduce fixes to stable, without including new
Making a pull request
To push your changes, you will first need to create a fork if you don't have write access to the origin repository. You can do this via the Launcher GitHub page.
Next, add your fork as a new remote:
git remote add myfork <url/to/fork>
You can now push your new branch to track your fork, for example
git push --set-upstream myfork feature/new_feature
Finally, you can open the pull request through the Launcher GitHub page.
Adding new features
Checkout develop
branch and then create a new feature branch
git checkout develop
git pull
git checkout -b feature/new_feature
Commit changes to this new branch.
When ready, open a pull request targeting develop
.
When ready to merge into develop
, do this via GitHub.
Releasing a new version (release branch)
Use a release branch when needing to introduce new functionality or breaking changes to the stable branch. It is recommended to freeze new feature additions after creating your release branch and spend the bulk of your time here doing testing.
Checkout develop
branch and then create a new release branch
git checkout develop
git pull
git checkout -b release/12.0.0
Commit any needed changes to this new branch.
When ready, open a pull request targeting master
. Do not merge this via github..
When ready to merge, manually merge into both master
and develop
.
Releasing a new version (hotfix branch)
Use a hotfix branch when needing to apply bugfixes without introducing the instability / changes from the develop branch.
Checkout develop
branch and then create a new hotfix branch
git checkout master
git pull
git checkout -b hotfix/12.0.1
Commit any needed changes to this new branch.
When ready, open a pull request targeting master
. Do not merge this via github..
When ready to merge, manually merge into both master
and develop
.