.TH GIT-TRIM 1 .SH NAME git\-trim \- Automatically trims your tracking branches whose upstream branches are merged or stray. .SH SYNOPSIS \fBgit\-trim\fR [FLAGS] [OPTIONS] .SH FLAGS .TP \fB\-h\fR, \fB\-\-help\fR Prints help information .TP \fB\-\-no\-update\fR Do not update remotes [config: trim.update] .TP \fB\-\-no\-confirm\fR Do not ask confirm [config: trim.confirm] .TP \fB\-\-no\-detach\fR Do not detach when HEAD is about to be deleted [config: trim.detach] .TP \fB\-\-dry\-run\fR Do not delete branches, show what branches will be deleted .SH OPTIONS .TP \fB\-b\fR, \fB\-\-bases\fR=\fIbases\fR Comma separated multiple names of branches. All the other branches are compared with the upstream branches of those branches. [default: branches that tracks `git symbolic\-ref refs/remotes/*/HEAD`] [config: trim.bases] The default value is a branch that tracks `git symbolic\-ref refs/remotes/*/HEAD`. They might not be reflected correctly when the HEAD branch of your remote repository is changed. You can see the changed HEAD branch name with `git remote show ` and apply it to your local repository with `git remote set\-head \-\-auto`. .TP \fB\-p\fR, \fB\-\-protected\fR=\fIprotected\fR Comma separated multiple glob patterns (e.g. `release\-*`, `feature/*`) of branches that should never be deleted. [config: trim.protected] .TP \fB\-\-update\-interval\fR=\fIupdate_interval\fR Prevents too frequent updates. Seconds between updates in seconds. 0 to disable. [default: 5] [config: trim.updateInterval] .TP \fB\-d\fR, \fB\-\-delete\fR=\fIdelete\fR Comma separated values of `[:]`. Delete range is one of the `merged, merged\-local, merged\-remote, stray, diverged, local, remote`. `:` is only necessary to a `` when the range is applied to remote branches. You can use `*` as `` to delete a range of branches from all remotes. [default : `merged:origin`] [config: trim.delete] `merged` implies `merged\-local,merged\-remote`. `merged\-local` will delete merged tracking local branches. `merged\-remote:` will delete merged upstream branches from ``. `stray` will delete tracking local branches, which is not merged, but the upstream is gone. `diverged:` will delete merged tracking local branches, and their upstreams from `` even if the upstreams are not merged and diverged from local ones. `local` will delete non\-tracking merged local branches. `remote:` will delete non\-upstream merged remote tracking branches. Use with caution when you are using other than `merged`. It might lose changes, and even nuke repositories. .SH EXIT STATUS .TP \fB0\fR Successful program execution. .TP \fB1\fR Unsuccessful program execution. .TP \fB101\fR The program panicked.