@jpwilliams/gitree
Version:
Print a directory tree that shows Git status and ignores files dictated by .gitignore.
56 lines (34 loc) • 1.95 kB
Markdown
# /gitree
Print a directory tree that shows Git status and ignores files dictated by `.gitignore`.
``` sh
$ npm i -g /gitree
$ gitree
# OR
$ npx /gitree
```
<p align="center">
<img src="https://user-images.githubusercontent.com/1736957/65135842-8783e780-d9fe-11e9-887b-3e04381795ac.png">
</p>
# What?
`gitree` works very similarly to [tree](https://linux.die.net/man/1/tree) but only lists files related to the current git repository.
Like Git, `gitree` only tracks _files_, so empty directories will never be listed. If you wish to push an empty folder to a Git repository, add an empty `.gitignore` or `.gitkeep` file to the directory and commit it.
# What does it show?
`gitree` shows any files that your repository's `.gitignore` files allows you to see, marking them with useful statuses like the ones in the screenshot above.
# What if it's not a Git repository?
It won't work. You must be somewhere within a Git repository to list any files. If you just want a basic tree view _without_ Git integration, consider the built-in `tree` command for Linux/Windows or the [`tree` homebrew formula](http://brewformulas.org/Tree) for Mac OSX.
# What else can it do?
Just this stuff:
```
Usage: gitree [options] [dir]
Options:
-V, --version output the version number
-m, --modified only show modified files
-t, --tracked only show tracked files
-c, --collapse collapse directory nodes that contain a single child
-d, --devicons print matching devicons next to files
-I, --ignore <pattern> do not list files that match the given pattern
-h, --help output usage information
```
_Note that for devicons to work, you must have a font with devicon glyphs installed. A good place to start is [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts)._
# Can it get any cooler?
There's a built-in alias, `gt`. Fantabulous, eh?