A terminal-based GUI client for Git


Keywords
git, client, terminal, console
License
BSD-2-Clause
Install
pip install giterm==0.7.0

Documentation

Travis-ci build information

giterm is officially packaged at PyPI

giterm can be found on PyPI official

giterm development status

giterm is released under BSD 2-Clause license

Join the chat at https://gitter.im/timlegrand/giterm

Features

Giterm is a ncurses-based terminal GUI for Git. It brings information about the current status of your Git working copy right in your terminal, real-time.

It exposes in a single view:

  • local branches, and which branch you’re currently on
  • remote branches, and which branch the current local branch is tracking
  • commit history, and which commit you are currently working from
  • current changes
  • a diff view of the selected file in the changes list

Real-time!

Every change to the working copy (file edition/move or any Git command) updates the GUI instantly. You can work as usual, and keep a terminal open with giterm to get instant feedback on your actions.

screenshot of giterm interface

Note

Giterm essentially shows Git information. It does not support git actions like commit, checkout, branch switching, committing. Only staging/unstaging is supported at this time.

Installation

pip install giterm

Or even better:

pipx run giterm

If you don’t have pip installed yet:

curl -s https://bootstrap.pypa.io/get-pip.py | sudo python
pip install giterm

Note

Windows users beware, Python for Windows doesn't come with curses. You need to visit curses repository, download the version of curses that corresponds to your Windows and version of Python, and then pip install the whl file with the python you plan on using.

Usage

cd path/to/git/working/copy
giterm

Keymap

  • [tab]: Toggle panel
  • [shift + tab]: Reverse Toggle
  • [up]/[down]: Scroll line by line
  • [page up]/[page down]: Scroll screen by screen
  • [h]: Log history
  • [c]: Changes view
  • [s]: Staging area
  • [d]: Diff view
  • [b]: Branches
  • [r]: Remotes
  • [t]: Tags
  • [space]: Stage/unstage current file
  • [q]: Quit

Requirements

Giterm needs the git executable to be installed and available in the PATH of your system. Others dependencies should be automatically handled by pip.

Technical background

Giterm uses subprocesses to call Git shell-based commands, and parses their outputs to bring the relevant information to the user interface.

It also uses a watchdog to listen file changes in the current working directory.

License

This software is provided under the BSD 2-Clause License. Please read the LICENSE file for further information.

Contribute

See the CONTRIBUTING file for how to help out.

Many thanks for your support!