Skip to main content

A git extension which provides commands for working according Git-Flow easily & safely in your repository.

Project description

GitHub-Flow (git flow)

git flow is a GitHub CLI extention. It provides commands for working easily and safely according the Git-Flow.

create feature 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.

Installation

pip install github-flow

Configuration (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 with git 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: squash
  • create_release - if you want to bump version (according SemVer.org) and create a tag automatically - set true.
  • 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 branch
    • rebase - Rebase the commits onto the base branch
    • squash - Squash the commits into one commit and merge it into the base branch

Usage

Getting Started

  • Add the configuration file to your project
    All you need to do to make your repository supported by Github-Flow is to add github-flow.yaml file. show conf file

Feature

  • Create a Feature
    git 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). create feature
  • Make Feature ready to deployment
    git flow feature -a ready [your_feature_name]
    Behind the scenes:

    • Create a Pull-Request from this feature branch to the Next-Release branch. ready feature
  • Finish with the feature development
    git 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. done feature

Hotfix

  • Create a Hotfix
    git 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. create hotfix
  • Make Hotfix ready to deployment
    git 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. ready hotfix
  • Finish with the Hotfix development
    git 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. done hotfix

Release

  • Create a new Release
    git 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. create release
  • Publish your Release
    git 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. publish release

License

This project is under the GPLv3 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

github-flow-0.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

github_flow-0.2-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file github-flow-0.2.tar.gz.

File metadata

  • Download URL: github-flow-0.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for github-flow-0.2.tar.gz
Algorithm Hash digest
SHA256 438338a6a38791aecbe43003e786cef7ca735a62216b4ce8069ae78558a65438
MD5 755cda932a9ba3092c2feef715f1d6da
BLAKE2b-256 ed9b4149f94dadcac4aba7f7a72de6b9e8ba257aa79407d4b2f6a614a96765ed

See more details on using hashes here.

File details

Details for the file github_flow-0.2-py3-none-any.whl.

File metadata

  • Download URL: github_flow-0.2-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for github_flow-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f2741446d79a2cd639d6d60486e7e98ce08856f4e2f0dca2afda909c02b222b0
MD5 18bf0e7567f446c785ab65d9efbc330a
BLAKE2b-256 bcd043f30ca41e38b4693904aa10ee6ab401dbf92ff8eee03eb4c432ffdfc244

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page