Skip to main content

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 and staging
  • 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 that git-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 using git-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 using git pull).
    • consider keeping your fork's remote master up to date (using git push).

Support

Please report any bugs that you find.

Like this tool? Support it with a star!

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-delete-merged-branches-1.2.1.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

git_delete_merged_branches-1.2.1-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

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

Hashes for git-delete-merged-branches-1.2.1.tar.gz
Algorithm Hash digest
SHA256 7b4f8faa1b39ee7f7656bc0ea9c539bffc8f44b928374d56c6ec447cbdd00917
MD5 f7cdf13359e0e1fd3f1ee1ead5527d39
BLAKE2b-256 c393e08516f1d04e6c6acda84315cdb22506b7076b4d502e926e145381ae87c7

See more details on using hashes here.

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

Hashes for git_delete_merged_branches-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f209d3c9e8206315b5798086aac741e893f30f95b7618b62be9bbf4a68920c4d
MD5 3de124c9dbad5a8e3b023ee801b42940
BLAKE2b-256 e8916a53e689337b898b48992421c7336e04ca9718d8fe9ba56f73c077959cfc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page