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.
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.
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).
-
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.
-
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.
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.
-
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.
-
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.
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.
-
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.
License
This project is under the GPLv3 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 438338a6a38791aecbe43003e786cef7ca735a62216b4ce8069ae78558a65438 |
|
MD5 | 755cda932a9ba3092c2feef715f1d6da |
|
BLAKE2b-256 | ed9b4149f94dadcac4aba7f7a72de6b9e8ba257aa79407d4b2f6a614a96765ed |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2741446d79a2cd639d6d60486e7e98ce08856f4e2f0dca2afda909c02b222b0 |
|
MD5 | 18bf0e7567f446c785ab65d9efbc330a |
|
BLAKE2b-256 | bcd043f30ca41e38b4693904aa10ee6ab401dbf92ff8eee03eb4c432ffdfc244 |