Package: git-improved
Git ImprovedPython package to add helpful git commands.InstallationThis package is available fromPyPIIt can be installed usingpip install git-improvedAdditional commandsgit template install [-h] [--branch BRANCH] [--user USER] [--token TOKEN] alias originInstall a template from a remote git repository.positional arguments:alias: the name you want to use locally to reference this templateorigin: url of the repository where target template is hostedoptional arguments:--branch BRANCH: branch of the repo containing the template (default: main)--user USER: username used to autenticate if required--token TOKEN: pass a token or password to authenticate if requiredgit template list [-h] [search]List available templates.positional arguments:search: (optional) python-style regex that can be used to filter outputgit template update [-h] [-v] [templates [templates ...]]Pull last version of the template from its git repository.positional arguments:templates: (optional) if you pass a list of templates, only these templates will be updated...optional arguments:--verbose: display additional informations concerning updated templates...git template rm [-h] templates [templates ...]Remove templatespositional arguments:templates: alias(es) of the template(s) to removegit setup --template <template_alias> DIRECTORYInitialize project structure.template_alias: alias of the template used to initialize project structure.directory: path to the folder where project must be initialized. (may be . for current folder)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 doneMerge current branch in main branch.Update [unreleased] section of changelog to reflect changes from current branchMerge current branch into main in a single commit (contains description of squashed commits)git cancelWithout arguments: Delete current branch from local and remote.With-ioption: Prompt names of multiple branches to deletegitrelease[--versionVERSION|--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 indocs/releasesto document this release.gitunrelease[-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-ioption to be prompted for versions to delete.You can't pass bothversionand-iflag.RoadMapMustHandle changelog/squash message generation when more than one section is changedAdd roadmap/assign commands to avoid many people working on same featureDisplay a warning in save command if working on main branchPropose 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)ShouldStudy interesting uses cases of a rollback command that cancel changes introduced by a commitImprove save command by adding an interactive mode to select staged filesAdd a--no-changelogoption todonecommand that indicates to not update changelog on merge.CouldDefine 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