Skip to content

kobibarhanin/igit

Repository files navigation

Build Status PyPI version Maintenance PyPI download month Open Source Love svg1 MIT license

Igit - Interactive Git

Igit is an interactive supplementary CLI to git for a better git experience.

igit_preview

The Story:

For a long time I've been using a variety of aliases for git commands, some of which were custom and aimed to boosting my git productivity - so I've decided to package it into a product for others to use.

Main features:

🚀 Fast commits - add, commit & push, instantly.

↪️ Undo changes - cancel changes made to any file.

🦘 Branch hopping - move between branches, even if you have unstaged changes, without having to stage them.

Easy ignore - add files to ignore, use templates, fix remote sync.

🎹 Interactivity - selectors, checkboxes and prompts instead of typing.

Installation

With pip:

pip install igit

Usage

help

For a comprehensive user guide - visit igit's wiki.

Compatibility

Igit is cross-platform → Windows, MacOSX, Linux.

🤓 - Windows users will get best experience with Windows Terminal / WSL.

Built with

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.

Local dev environment (MacOSX / Linux)

  • Clone this project
  • cd into project directory
  • Run: pipenv install
  • Run: pipenv --venv
  • Add bash alias:
alias igit='PYTHONPATH=<LOCAL IGIT PROJECT DIR> <PIPENV VENV PATH>/bin/python3 <LOCAL IGIT PROJECT DIR>/igit/cli.py'
  • Now you can run igit from bash and code changes in local igit dir will apply.

License

MIT