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
File details
Details for the file git-delete-merged-branches-1.2.1.tar.gz
.
File metadata
- Download URL: git-delete-merged-branches-1.2.1.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b4f8faa1b39ee7f7656bc0ea9c539bffc8f44b928374d56c6ec447cbdd00917 |
|
MD5 | f7cdf13359e0e1fd3f1ee1ead5527d39 |
|
BLAKE2b-256 | c393e08516f1d04e6c6acda84315cdb22506b7076b4d502e926e145381ae87c7 |
File details
Details for the file git_delete_merged_branches-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: git_delete_merged_branches-1.2.1-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f209d3c9e8206315b5798086aac741e893f30f95b7618b62be9bbf4a68920c4d |
|
MD5 | 3de124c9dbad5a8e3b023ee801b42940 |
|
BLAKE2b-256 | e8916a53e689337b898b48992421c7336e04ca9718d8fe9ba56f73c077959cfc |