Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Print a directory tree that shows Git status and ignores files dictated by .gitignore.

License

Notifications You must be signed in to change notification settings

jpwilliams/gitree

Repository files navigation

@jpwilliams/gitree

Print a directory tree that shows Git status and ignores files dictated by .gitignore.

$ npm i -g @jpwilliams/gitree
$ gitree
# OR
$ npx @jpwilliams/gitree

What?

gitree works very similarly to 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 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.

Can it get any cooler?

There's a built-in alias, gt. Fantabulous, eh?

Alternatives

The wonderful ogham/exa can print a similar tree without detailed change information/filtering with:

exa --git-ignore --tree --all --icons --ignore-glob .git

About

Print a directory tree that shows Git status and ignores files dictated by .gitignore.

Topics

Resources

License

Stars

Watchers

Forks

Packages

Contributors 6

AltStyle によって変換されたページ (->オリジナル) /