Package: github-flow
GitHub-Flow (git flow)git flowis a GitHub CLI extention. It provides commands for working easily and safely according the Git-Flow.GitHub-Flow extention is available for anyone who wants to work according the Git flow easily and safely.
Through GitHub-Flow, you will be able to assimilate and enforce the Git-Flow in your team without the need for learning or mistakes along the workflow.Installationpip install github-flowConfiguration (github-flow.yaml)The main advantage of this git-flow implementation (additional to the pull-reuests before the merge),
is the centralized configuration file, all the developers workflow will be the same according this conf file.This conf file is required, please add it to the root directory of your repository before starting work withgit flow.---
branch:
  feature_branch_prefix: feature/
  hotfix_branch_prefix: hotfix/
  release_branch_prefix: release/
  released_branch: main
  next_release_branch: develop

release:
  create_release: true
  release_notes_file: changelog.md #OPTIONAL

pull-request:
  merge_mode: squashcreate_release- if you want to bump version (according SemVer.org) and create a tag automatically - settrue.release_notes_file- Remove this line from the conf file if you don't have a changelog/release-notes file.merge_mode- The merge mode that will be used in your workflow.merge- Merge the commits with the base branchrebase- Rebase the commits onto the base branchsquash- Squash the commits into one commit and merge it into the base branchUsageGetting StartedAdd the configuration file to your projectAll you need to do to make your repository supported by Github-Flow is to add github-flow.yaml file.FeatureCreate a Featuregit flow feature -a create [your_feature_name]Behind the scenes:Create a new branch with the Feature prefix ([PREFIX]/[FEATURE_NAME]) from the Next-Release-Branch (the both vars - prefix and next-release-branch are configured in the configuration file).Make Feature ready to deploymentgit flow feature -a ready [your_feature_name]Behind the scenes:Create a Pull-Request from this feature branch to the Next-Release branch.Finish with the feature developmentgit flow feature -a done [your_feature_name]Behind the scenes:Shows the Pull-Request's checks results.After acception, merges the feature's Pull-Request.HotfixCreate a Hotfixgit flow hotfix -a create [your_hotfix_name]Behind the scenes:Create a new branch with the Hotfix prefix ([PREFIX]/[HOTFIX_NAME]) from the Released-Branch.Make Hotfix ready to deploymentgit flow hotfix -a ready [your_hotfix_name]Behind the scenes:Create a Pull-Request from this hotfix branch to the Next-Release branch.Create a Pull-Request from this hotfix branch to the Released branch.Finish with the Hotfix developmentgit flow hotfix -a done [your_hotfix_name]Behind the scenes:Shows the Pull-Requests' checks results.After acception, merges the Pull-Requests.Bump version (Patch).Create a release tag with the new version.ReleaseCreate a new Releasegit flow release -a create [your_release_name]Behind the scenes:Create a new branch with the Release prefix ([PREFIX]/[RELEASE_NAME]) from the Next-Release-Branch.Create a Pull-Request to the Released-Branch.Publish your Releasegit flow release -a publish [your_release_name]Behind the scenes:Shows the Pull-Request checks results.After acception, merges the Pull-Requests.Bump version (Minor).Create a release tag with the new version.LicenseThis project is under the GPLv3 license.