An interactive command line interface for displaying the state of multiple git repositories in a single screen. ( screenshots below )
-
This scripts are for managing multiple git repositories from command line. It checks the state of 'push'es to remotes and reports the up-to-date'ness of them.
-
It also displays detailed raw output for repositories if there's enough screen space. Otherwise, you can display detail repo information by switching the display mode of the manager.
-
Also, support for performing simple git operations on the repos, singly or in a batch manner will be implemented soon.
-
Adding and Removing repositories to track (editing of the .gmconfig file) will be made through the interface in future versions
git-manager-gui.py : interactive manager - curses based
.gmconfig : git manager gui is now configured through the ~/.gmconfig file.
- Adding a Repository:
you can add your repos by adding entries like
repo[kortex][/home/tola/src/cpp/lib/kortex]
repo[KX-OCV][/home/tola/src/cpp/lib/kortex-ext-opencv]
there are other ways to add repositories
for example a repository named 'kortex' at location '/home/tola/src/cpp/lib/kortex'
could be included using
repo[kortex][/home/tola/src/cpp/lib/kortex]
or
repo_d[kortex][src/cpp/lib] --> looks inside ${HOME}
if you have a master directory where you keep all your
projects, you can add all the files under the directory
using:
repo_dir[/full/path/to/directory][]
for example:
repo_dir[/home/tola/src/cpp/applications][] adds
everything
- 'seperator' keyword:
this keyword displays a horizontal line in the display
for visual separation of repositories
- Defining a remote:
you can define remote names and symbols as:
remote[HEAD][H]
remote[borg][B]
remote[local][L]
symbols need to be single letters but it is not checked
in this version...
-
To display the keybindings, press 'l'
-
Repository information is cached once the application is started. To update it, press 'u'
Full Screen View (Enough space in screen to display detailed info for repo):
Only Summary View is displayed if not enough space is available: