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 template install [-h] [--branch BRANCH] [--user USER] [--token TOKEN] alias origin
Install a template from a remote git repository.
positional arguments:
- alias: the name you want to use locally to reference this template
- origin: url of the repository where target template is hosted
optional 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 required
git template list [-h] [search]
List available templates.
positional arguments:
- search: (optional) python-style regex that can be used to filter output
git 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 templates
positional arguments:
- templates: alias(es) of the template(s) to remove
git setup --template <template_alias> DIRECTORY
Initialize 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 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 todone
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
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
git-improved-0.1.1.tar.gz
(17.0 kB
view hashes)
Built Distribution
Close
Hashes for git_improved-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff1a2a79619100dcd05907b3af7ba11d90c6b7af5f74c088c8eaaa798d075bdf |
|
MD5 | fa01c29ad708fbba274b994ea541e13c |
|
BLAKE2b-256 | 8e03c8c45d3d99910e318c3001c9d6354b5d646f99be8f6affe258bf4c6b9ca0 |