.. image:: https://img.shields.io/travis/timlegrand/giterm.svg
:alt: Travis-ci build information
.. image:: https://badge.fury.io/py/giterm.svg
:alt: giterm is officially packaged at PyPI
:target: https://badge.fury.io/py/giterm
.. image:: https://img.shields.io/pypi/dm/giterm.svg
:alt: giterm can be found on PyPI official
.. image:: https://img.shields.io/pypi/status/giterm.svg
:alt: giterm development status
.. image:: https://img.shields.io/pypi/l/giterm.svg
:alt: giterm is released under BSD 2-Clause license
.. image:: https://badges.gitter.im/timlegrand/giterm.svg
:alt: Join the chat at https://gitter.im/timlegrand/giterm
:target: https://gitter.im/timlegrand/giterm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
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.
.. image:: assets/screenshot.png
:alt: screenshot of giterm interface
:align: center
.. 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
============
.. code-block:: bash
pip install giterm
Or even better:
.. code-block:: bash
pipx run giterm
If you don’t have ``pip`` installed yet:
.. code-block:: bash
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 <http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses>`_, 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
=====
.. code-block:: bash
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!
.. _LICENSE file: ./LICENSE
.. _CONTRIBUTING file: ./CONTRIBUTING.rst
Raw data
{
"_id": null,
"home_page": "https://github.com/timlegrand/giterm",
"name": "giterm",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "git,client,terminal,console",
"author": "Tim Legrand",
"author_email": "timlegrand.perso+dev@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b3/6c/fce264a27d5fe08b7cb58759c283617e7545986e62540c99b49e1dfee127/giterm-0.7.0.tar.gz",
"platform": null,
"description": ".. image:: https://img.shields.io/travis/timlegrand/giterm.svg\n :alt: Travis-ci build information\n\n.. image:: https://badge.fury.io/py/giterm.svg\n :alt: giterm is officially packaged at PyPI\n :target: https://badge.fury.io/py/giterm\n\n.. image:: https://img.shields.io/pypi/dm/giterm.svg\n :alt: giterm can be found on PyPI official\n\n.. image:: https://img.shields.io/pypi/status/giterm.svg\n :alt: giterm development status\n\n.. image:: https://img.shields.io/pypi/l/giterm.svg\n :alt: giterm is released under BSD 2-Clause license\n\n.. image:: https://badges.gitter.im/timlegrand/giterm.svg\n :alt: Join the chat at https://gitter.im/timlegrand/giterm\n :target: https://gitter.im/timlegrand/giterm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\nFeatures\n========\n\nGiterm 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*.\n\nIt exposes in a single view:\n\n- local branches, and which branch you\u2019re currently on\n- remote branches, and which branch the current local branch is\n tracking\n- commit history, and which commit you are currently working from\n- current changes\n- a *diff* view of the selected file in the *changes* list\n\n\nReal-time!\n----------\n\nEvery change to the working copy (file edition/move or any Git command)\nupdates the GUI instantly. You can work as usual, and keep a terminal\nopen with giterm to get instant feedback on your actions.\n\n.. image:: assets/screenshot.png\n :alt: screenshot of giterm interface\n :align: center\n\n.. 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.\n\n\nInstallation\n============\n\n.. code-block:: bash\n\n pip install giterm\n\nOr even better:\n\n.. code-block:: bash\n\n pipx run giterm\n\nIf you don\u2019t have ``pip`` installed yet:\n\n.. code-block:: bash\n\n curl -s https://bootstrap.pypa.io/get-pip.py | sudo python\n pip install giterm\n\n.. note:: Windows users beware, Python for Windows doesn't come with curses. You need to visit `curses repository <http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses>`_, 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.\n\n\nUsage\n=====\n\n.. code-block:: bash\n\n cd path/to/git/working/copy\n giterm\n\n\nKeymap\n------\n\n- [tab]: Toggle panel\n- [shift + tab]: Reverse Toggle\n- [up]/[down]: Scroll line by line\n- [page up]/[page down]: Scroll screen by screen\n- [h]: Log history\n- [c]: Changes view\n- [s]: Staging area\n- [d]: Diff view\n- [b]: Branches\n- [r]: Remotes\n- [t]: Tags\n- [space]: Stage/unstage current file\n- [q]: Quit\n\n\nRequirements\n============\n\nGiterm needs the ``git`` executable to be installed and available in the\nPATH of your system. Others dependencies should be automatically handled\nby ``pip``.\n\n\nTechnical background\n====================\n\nGiterm uses subprocesses to call Git shell-based commands, and parses\ntheir outputs to bring the relevant information to the user interface.\n\nIt also uses a watchdog to listen file changes in the current working\ndirectory.\n\n\nLicense\n=======\n\nThis software is provided under the BSD 2-Clause License. Please read\nthe `LICENSE file`_ for further information.\n\n\nContribute\n==========\n\nSee the `CONTRIBUTING file`_ for how to help out.\n\nMany thanks for your support!\n\n\n.. _LICENSE file: ./LICENSE\n.. _CONTRIBUTING file: ./CONTRIBUTING.rst\n",
"bugtrack_url": null,
"license": "BSD 2-Clause",
"summary": "A terminal-based GUI client for Git",
"version": "0.7.0",
"split_keywords": [
"git",
"client",
"terminal",
"console"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b31945cf5f30f262b39860394553dc7e53ae2af9d7b140bdc234c0b15a4c9039",
"md5": "f9c6887f229b92c234d7d2024b037373",
"sha256": "ddc7c1b2a7458367cdf973b492b183b8393003a8e175b2beefe4f539b6cb82f5"
},
"downloads": -1,
"filename": "giterm-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f9c6887f229b92c234d7d2024b037373",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17801,
"upload_time": "2023-01-21T08:52:29",
"upload_time_iso_8601": "2023-01-21T08:52:29.459903Z",
"url": "https://files.pythonhosted.org/packages/b3/19/45cf5f30f262b39860394553dc7e53ae2af9d7b140bdc234c0b15a4c9039/giterm-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b36cfce264a27d5fe08b7cb58759c283617e7545986e62540c99b49e1dfee127",
"md5": "30a9e9d71d3bfa2e99fc6ad34a3e43dc",
"sha256": "e976e07c545d517e0e2f010a73255b82053cf129d3bc2d74fda27f2a5743ea97"
},
"downloads": -1,
"filename": "giterm-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "30a9e9d71d3bfa2e99fc6ad34a3e43dc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16141,
"upload_time": "2023-01-21T08:52:31",
"upload_time_iso_8601": "2023-01-21T08:52:31.188411Z",
"url": "https://files.pythonhosted.org/packages/b3/6c/fce264a27d5fe08b7cb58759c283617e7545986e62540c99b49e1dfee127/giterm-0.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-21 08:52:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "timlegrand",
"github_project": "giterm",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [],
"tox": true,
"lcname": "giterm"
}