Skip to main content

Add commands to simplify release and publish operation from Git CLI.

Project description

Git Improved

Python package to add helpful git commands.

:package: Installation

This package is available from PyPI

It can be installed using

pip install git-improved

:star: Additional commands

git setup

Initialize devops configuration.

  • Create a setup.cfg containing current version, and versioning config.
  • Create a github action to document releases based on changelog.
  • Create docs/changelog.md, and docs/releases/

git wip [category] [description]

Create a branch to work on something.

  • Branch has a category that describe kind of work. (e.g. Feature, CI/CD, Documentation, ...)
  • Description explain what happens on this branch. If not passed, it is prompted.

git done

Merge current branch in main branch.

  • Update [unreleased] section of changelog to reflect changes from current branch
  • Merge current branch into main in a single commit (contains description of squashed commits)

git cancel
  • Without arguments: Delete current branch from local and remote.
  • With -i option: Prompt names of multiple branches to delete

git release [--version VERSION | --patch | --minor | --major]

Deploy a new release for current project.

  • Increment version in all files it is referenced (configure in setup.cfg)
  • Replace [unreleased] section of changelog with new version.
  • Create a file in docs/releases to document this release.

git unrelease [-i] [version]

Delete a release from GitHub.

  • You can pass the version of the release to delete (or a coma separated list of versions)
  • Otherwise, use -i option to be prompted for versions to delete.
  • You can't pass both version and -i flag.

:fire: RoadMap

Must

  • :fire: Handle changelog/squash message generation when more than one section is changed
  • :fire: Add roadmap/assign commands to avoid many people working on same feature
  • Display a warning in save command if working on main branch
    • Propose to create a wip branch from current changes to avoid commiting directly...
    • Add an option to reset X last commits from main, put them on a branch, an perform magic merge.
  • Add an empty github action that run on unrelease. (can be used to remove packages from registries when tag is deleted)

Should

  • Study interesting uses cases of a rollback command that cancel changes introduced by a commit
  • Improve save command by adding an interactive mode to select staged files
  • Add a --no-changelog option to done command that indicates to not update changelog on merge.

Could

  • Define a message syntax that indicates that a commit don't go in changelog (e.g prefix with ;)
  • Require user to be logged into git using a token.
  • Then retrieve author information from github to put in changelog

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

git-improved-0.1.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

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

git_improved-0.1.0-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file git-improved-0.1.0.tar.gz.

File metadata

  • Download URL: git-improved-0.1.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1

File hashes

Hashes for git-improved-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e99aa46ef99d44f3ef8cdb8d5f09a1fe68575bd7296614dea953e1852d67cb2d
MD5 a8bdd2528888bb39ccee203df1ef4db0
BLAKE2b-256 69e5c5065514171455e4d4fce7e63970568b95641da408176f2ecbd5e898e3a2

See more details on using hashes here.

File details

Details for the file git_improved-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: git_improved-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1

File hashes

Hashes for git_improved-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fbdce7f50aa6407fafcaedfd41aa417e750f5bd6d57fa743083dabe294439c78
MD5 552a20b4b7267a69e669c23eb8c0b434
BLAKE2b-256 695cb5a1d8b25f55df5f84bbae78491a19b25f2f4602835354ee3c13b8ec4ada

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