Skip to main content

This package contains the Anacision Git Manager.

Project description

Anacision Gitflow Manager

Description

The gitflow manager is a tool that helps maintaining clean versioning and documentation in code projects. By using the gitflow manager one can make sure to stick to the GitFlow rules. Furthermore, it helps maintain a good changelog and documentation. Whenever you want to start a new branch or merging it back to dev/main run the gfm command. It uses a dialog to define the type of new branch (feature, bugfix, hotfix, release) or merge option as well as setting the required changelog messages. It then automatically updates version numbers, checks out corresponding branches and commits/merges according to the GitFlow. Changes are also pushed to the Git Host via ssh or https and for protected branches merge requests are initialized. Currently, the gitflow manager supports Gitlab and Bitbucket as hosting platforms.

Versioning

  • Utilize the gitflow manager in projects to make sure that you easily stick to these rules:
    • Versions are defined in the format Major.Minor.Hotfix. New versions are created when opening the hotfix or release branch.
    • The hotfix branch is only allowed to be started from main branch, to increase the Hotfix version digit only and to be merged into main (+ dev thereafter).
    • The release branch is only allowed to be started from dev, to increase the minor or major version digit and to be merged into main (+ dev thereafter). In case of a new major version, the minor and hotfix digit is reset to 0. In case of a new minor version, the hotfix digit is reset to 0.
    • The bugfix and feature branches are only allowed to be started from dev, increase no version number and are merged back to dev.
    • All new branches need a description in the change log, which has separate "Added", "Changed" and "Fixed" sections.

Supported branches with gitflow manager

  • main: Permanent, stable, (normally) protected branch used for deployment. Each commit has a new version. Merge requests only come from release or hotfix branch.
  • dev: Permanent development branch. Gets merge requests from feature, hotfix and release branch.
  • release/vX.X.X: Release branch. Branched off from dev branch with new minor or major version. When the branch is finished, it is merged into main and dev branch. Intermediate merges into dev are allowed, too. Merges from dev into release branch are not allowed.
  • feature/xxxxxx: For features to be developed. Branched off from dev branch and will be merged back into dev after finishing feature.
  • bugfix/xxxxxx: For bugs to be fixed. Branched off from dev branch and will be merged back into dev after finishing the fix.
  • hotfix/vX.X.X: Hotfix branch for fixes from deployed code. Branched off from main branch with new hotfix version. When done, is merged into main and dev branch.

Tagging

  • Currently, tagging is not done automatically. You can configure yourself a CI pipeline, that does the job for you.

Getting started

Installation

  1. Install gitflow manager with pip: pip install gitflow-manager
  2. Restart terminal

Usage

  • When using the first time, run gfm --init in the root of the project.
  • Subsequently, just type gfm each time you need to branch or merge (or add change log information), and follow the dialog

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

gitflow_manager-1.0.2.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitflow_manager-1.0.2-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file gitflow_manager-1.0.2.tar.gz.

File metadata

  • Download URL: gitflow_manager-1.0.2.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for gitflow_manager-1.0.2.tar.gz
Algorithm Hash digest
SHA256 4aaeadc1f12843ec2769f8b0c03d4a9a51af961c4bacb1739b0143a4c64fa1ad
MD5 b7dc5a46110e9ccd12070484f91ac1c5
BLAKE2b-256 5dd51ff7347f72de0106bef6deea10232ed50fbb5afc9b1f4d76b82e26dce34c

See more details on using hashes here.

File details

Details for the file gitflow_manager-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for gitflow_manager-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1a9a77808c89a07fc7835cc819fd8a6c4c66aa81c1a944c0b863f10f3cf5ca57
MD5 3d17eaf98eaef370d35c011e3211da1d
BLAKE2b-256 721435160281f80e8bb0858dc6e4528428509a9c445114921352fc7d3017cc1c

See more details on using hashes here.

Supported by

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