██┐ ██┐
└─┘ ██┐ ██│
██████┐ ██┐ ██████┐ ██████┐
██┌─██│ ██│ └─██┌─┘ ██┌─██│
██│ ██│ ██│ ██│ ██│ ██│
██████│ ██│ ████┐ ██│ ██│
└───██│ └─┘ └───┘ └─┘ └─┘
██│ A TUI git helper
██████│ with catppuccin theme,
└─────┘ written in Go
|
|
Why try gith?
It brings little quality-of-life improvements that can make
working with git feel smoother and sometimes even a bit quicker.
For example, the “Add Tag” feature (also shown under “More Images” below the preview GIF)
offers Patch / Minor / Major besides the Manual Input of tags.
Apart from that, it also just looks good ;)

Catppuccin flavors preview

More Images

For the terminal customization / starship config, check out my ubuntu customization blog article.
This is the full setup, for only starship scroll down to the starship section.
Table of Contents
Installation
Go
If you already have Go installed, or plan to do so (easy to get new updates):
Install via Go
[!TIP]
If you installed gith via go install,
you can run gith update to get the latest version of gith.
Binaries
If you don't wish to use Go, you can install gith via Binaries:
Install via Binaries
For updates, you have to download and install the new binaries manually again
Usage
After the installation finished, just run:
gith
Some commands like adding tags are also accessible via quick select,
check out the What is and what will be (features) section,
to see which commands are supported.
As an example, quick select for "git tag ":
gith tag
which will start interactive mode, but already at a point to select the tag, i.e. patch / minor / major / manual input.
For more info run gith help or check out the help articles.
Gith tries to use intuitive, natural language commands,
combined with the usual git commands, for example gith tag or gith update remote url.
You can also get completions for fish, base or zsh: Completions
Customization
You can set your preferred flavor and accent in the Options.
Just run gith and select "Options".
For more info check out the help articles.
What is and what will be
You can view the Roadmap / upvote Feature Requests and Bugs at Featurebase.
-
Branch
-
Switch Branch -- supports quick select --
-
List Branches -- supports quick select --
-
Delete Branch -- supports quick select --
-
Create Branch
-
Status
- View working tree status (Modified, Added, Deleted, Untracked files) -- supports quick select --
-
Commit
-
Undo Last Commit -- supports quick select --
-
Commit staged changes -- supports quick select --
-
Commit all changes -- supports quick select --
-
Amend last commit
-
Tag
-
Remote
-
Changes
-
View diff of changes
-
Stage individual files
-
Unstage individual files
-
Options
Contributing
Contributions are welcome, please use conventional commits for a constant commit message style.
If you reaaally struggle with conventinal commits, check out Meteor, or just use gith's built in commit feature.
For feature requests or possible improvements please create an issue at Featurebase.
For local development, fork & clone the repo, then build using:
go build -o gith
Run with:
./gith
Thanks
- BubbleTea for making it possible to build this
- opencode for the design inspiration (copied their starting dialog 1:1)
Support
If you want to support me, feel free to upvote gith on producthunt, and give some feedback :)
You can also upvote feature requests or bugs that you want fixed at Featurebase.
