git-tidy-python/README.md
James Smith e740900475 s/purge/prune/g
It isn't purge, it's prune. I think I got confused with the Docker terminology.
2023-10-06 12:28:11 +00:00

45 lines
1.4 KiB
Markdown

# git-tidy
I wrote this utility to save myself some repetitive typing, because I often come
back to a repo after a while of not using it, and in the meanwhile a remote may
have moved on or I'm not sure what state it's in.
So this gets it cleaned up relatively quickly.
It's more or less the equivalent of
```bash
git checkout main
git fetch --all --prune # prune is to delete unnecessary remote refs
git merge origin/main main --ff-only
git branch --merged | grep -v main | xargs git branch -d
```
with some extra convenience and (I hope) safety features.
## Using
The actual script is named `git-tidy`. After cloning, you can copy (or symlink)
it to somewhere on your path (I use `~/bin/`).
Then when you `cd` to your git repository, you can type
```bash
git tidy
```
and it'll do its thing! Only the Python standard library is used, no additional
packages are required.
## Background
The repo is named with `-python` on the end because I have a vague ambition to
redo this program in Go at some point, which will make it easier to distribute
for people who don't have Python installed by default (i.e. Windows users). But
I'm not sure when I'll get to that.
## TODO
I'd like to actually get a set of unit-tests in place, but I'm not sure how to
go about this really because there's a lot of subprocess calls. If anyone reads
this and has an idea, I'd be glad to hear from you.