Command-line tool to delete merged Git branches
Project description
git-delete-merged-branches
A convenient command-line tool helping you keep repositories clean.
Installation
pip install git-delete-merged-branches
Example
# git-delete-merged-branches
You are about to delete 6 local branch(es):
- improve-setup-py
- issue-12-enable-ci-for-pull-requests
- issue-5-fix-waste-of-one-second-per-service
- keep-github-actions-up-to-date
- refactoring-one
- simple-ci
Delete? [y/N] y
You are about to delete 6 remote branch(es):
- origin/improve-setup-py
- origin/issue-12-enable-ci-for-pull-requests
- origin/issue-5-fix-waste-of-one-second-per-service
- origin/keep-github-actions-up-to-date
- origin/refactoring-one
- origin/simple-ci
Delete? [y/N] y
To github.com:hartwork/wait-for-it.git
- [deleted] improve-setup-py
- [deleted] issue-12-enable-ci-for-pull-requests
- [deleted] issue-5-fix-waste-of-one-second-per-service
- [deleted] keep-github-actions-up-to-date
- [deleted] refactoring-one
- [deleted] simple-ci
Features
- Supports deletion of both local and remote branches
- Supports workflows with multiple release branches, e.g. only delete branches that have been merged to all of
master
,dev
andstaging
- Quick interactive configuration
- Provider agnostic: Works with GitHub, GitLab and any other Git hosting
- Takes safety seriously
Safety
Deletion is a sharp knife that requires care.
While git reflog
would have your back in most cases,
git-delete-merged-branches
takes safety seriously.
Here's what git-delete-merged-branches
does for your safety:
- No branches are deleted without confirmation or passing
--yes
. - Confirmation defaults to "no"; plain
[Enter]
/[Return]
does not delete. git push
is used with--force-with-lease
so if the server and you have a different understanding of that branch, it is not deleted.- There is no use of
os.system
or shell code to go wrong. - With
--dry-run
you can get a feel for the changes thatgit-delete-merged-branches
would be making to your branches. - Show any Git commands run using
--verbose
.
Best Practices
- Consider running
git remote update --prune
before usinggit-delete-merged-branches
for best results. - When the repository is a fork:
- consider keeping your local
master
up to date (by making it a tracking branch or by usinggit pull
). - consider keeping your fork's remote
master
up to date (usinggit push
).
- consider keeping your local
Support
Please report any bugs that you find.
Like this tool? Support it with a star!
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
Close
Hashes for git-delete-merged-branches-1.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | eddbe712855e913a06e7eabf08021a90fd11e010dff49a0dee3c7a0e8239a969 |
|
MD5 | cba37556be675d9b10e3d6be6331bbd7 |
|
BLAKE2b-256 | 9d4c8607f84fb6313106e5d5593f51b5e1cee77515ddb974d54db5f94221a7d5 |
Close
Hashes for git_delete_merged_branches-1.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8eb05c9771519ac9e6140eb0949438800273e146fcf6e9512d0bf1fa7127b8a8 |
|
MD5 | 34243b6cee59faaee200276aa4519c36 |
|
BLAKE2b-256 | 922772c7f8429981870298b4cb148cca8c4e6db0f09182d5e5dfff9aa68515bd |