|develop branch:||We consider origin/develop to be the main branch where the source code of HEAD always reflects a state with the latest delivered development changes for the next release. Some would call this the “integration branch”.|
|master branch:||We consider origin/master to be the main branch where the source code of HEAD always reflects a production-ready state. Each commit to master is considered a new release and will be tagged.|
PyInstaller project doesn’t use long living branches (beside master and develop ) as we don’t support bugfixes for several major releases in parallel.
Occasionally you might find these branches in the repository: 
|These branches are for preparing the next release. This is for example: updating the version numbers, completing the change-log, recompiling the bootloader, rebuilding the manuals. See ref: release-workflow for details about the release process and what steps have to be performed.|
|These branches are also meant to prepare for a new production release, albeit unplanned. This is what is commonly known as a “hotfix”.|
|Feature branches (or sometimes called topic branches) are used to develop new features for the upcoming or a distant future release.|
|||This branching-model is basically the same as Vincent Driessen described in this blog. But currently we are not following it strictly.|