Skip to content

boyvinall/dirtygit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9b2087e · Jun 6, 2022

History

13 Commits
Dec 30, 2020
Jun 6, 2022
Jun 6, 2022
Dec 30, 2020
Dec 30, 2020
Dec 30, 2020
Dec 30, 2020
Dec 30, 2020
Dec 30, 2020
Jun 6, 2022
Jan 5, 2021
Jun 6, 2022
Jun 6, 2022
Jun 6, 2022

Repository files navigation

dirtygit

Do you find yourself context-switching between a bunch of different git repos?

Have you ever accidentally discovered that changes you've made locally have not been committed or pushed to your git server?

dirtygit is a text-mode UI tool to find git repos that have uncommitted files or which have not been pushed to a remote.

Source-mode installation

go install github.com/boyvinall/dirtygit@master

Configuration

Copy .dirtygit.yml to ~/.dirtygit.yml and edit to your needs.

Running

dirtygit [ <directories...> ]

If one/more directories are specified as <directories>, then this will override the scandirs.include from your config file.

demo

UI

Simple key navigation in the UI as follows:

Key Action
<up> / <down> Navigation inside repositories or diff views
<tab> switch focus between repositories and diff views
e Open selected repo in editor (current vscode)
s Rescan directories
q / ctrl-C quit

Inside the "diff" view, a list of dirty files is shown, with the git status for both staged changes (S) and working directory (W).

Development

make lint

Future

  • Also scan for local changes which have not been pushed
  • Allow configuration of editor
  • Improve error logging and presentation
  • Possibly show git diff
  • Allow deletion of files / repositories
  • Add tests!