Skip to main content

A terminal-based GUI client for Git

Project description

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


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


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


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.


pip install giterm

If you don’t have pip installed yet:

curl -s | sudo python
pip install giterm


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.


cd path/to/git/working/copy


  • [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


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.


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


See the CONTRIBUTING file for how to help out.

Many thanks for your support!

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for giterm, version 0.6.5
Filename, size File type Python version Upload date Hashes
Filename, size giterm-0.6.5-py2.py3-none-any.whl (19.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size giterm-0.6.5.tar.gz (15.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page