# git-janitor

> A series of scripts to help keep your git repo clean

Latest version **2.2.0** (published 2019-10-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install git-janitor
pnpm add git-janitor
yarn add git-janitor
bun add git-janitor
```

Provides the command `git-janitor`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.2.0 |
| Published | 2019-10-08 |
| First published | 2019-10-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 10.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 6 |
| Author | Ryan Tablada |
| Maintainers | rtablada |

## Links

- npm: https://www.npmjs.com/package/git-janitor
- Repository: https://github.com/rtablada/git-janitor
- Homepage: https://github.com/rtablada/git-janitor#readme
- Issues: https://github.com/rtablada/git-janitor/issues
- npm.io page: https://npm.io/package/git-janitor

## Dependencies (5)

- [esm](https://npm.io/package/esm.md) ^3.2.25
- [yargs](https://npm.io/package/yargs.md) ^14.2.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.15
- [moment](https://npm.io/package/moment.md) ^2.24.0
- [inquirer](https://npm.io/package/inquirer.md) ^7.0.0

## Recent versions

- 2.2.0 (latest) — 2019-10-08
- 2.1.1 — 2019-10-08
- 2.1.0 — 2019-10-08
- 2.0.0 — 2019-10-08
- 1.0.4 — 2019-10-07
- 1.0.3 — 2019-10-07
- 1.0.2 — 2019-10-07
- 1.0.1 — 2019-10-07
- 1.0.0 — 2019-10-07

## README

# Git Janitor

This is a simple script to clean up your git repos.

This tool specifically started as a way to clean up merged branches in projects which heavily rely on rebase or squash merges where simpler git scripts may not remove old stale branches.

## Usage

Install this package as a global package using NPM or Yarn:

```
yarn global add git-janitor
npm install -g git-janitor
```

Then run the Git Janitor command in your git repo:

```
git-janitor
```

The prompt will then lead you through asking what branch you use for your main branch (where things get merged to), what sources you want to remove merged branches from (currently supports local branches and remotes), how many weeks you want to keep of merged branches (in case you don't want to quite clean everything), and how to run the clean up (dry run, interactive [ask to delete each branch], quiet [deletes without asking]).

## Why

Merged branches, orphaned branches, and more can take up precious space on your development machine; especially in Monorepo apps with large teams. Plus: Node Filesystem, editors, and tools like Eslint will often traverse the `.git` repo even when ignored possibly leading to slow builds or large memory usage.

This is a simple tool that *should* help to remove merged branches from taking up extra resources and possibly causing trouble.

## Warning

This script is greedy about deleting branches and there are likely edgecases that are not accounted for. You have been warned!
If you'd like to account for other edgecases or help with the project, feel free to submit a PR or Issue.

## Thanks

A huge shout out to Raquel Moss and the package [git-delete-squashed](https://github.com/raquelxmoss/git-delete-squashed) which is the basis for this script. Most of the squashed branch cleanup is an updated version of that package updated for recent Node versions.

---
_Source: https://npm.io/package/git-janitor · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
