gitty
gitty
is a smart little CLI helper for git projects, that shows you all the
relevant issues, pull requests and changes at a quick glance, right on the
command-line. It currently supports the GitHub, GitLab, and Gitea APIs.
Installation
Packages
Linux
Binaries
- Binaries for Linux, FreeBSD, OpenBSD, macOS, Windows
From source
Make sure you have a working Go environment (Go 1.17 or higher is required). See the install instructions.
Compiling gitty is easy, simply run:
git clone https://github.com/muesli/gitty.git
cd gitty
go build
Access Tokens
Note: In order to access the APIs of hosting providers like GitHub, GitLab, or
Gitea, gitty
requires you to provide valid access tokens in an environment
variable called GITTY_TOKENS
.
You can provide tokens for multiple hosts and services in this format:
github.com=abc123;gitlab.com=xyz890;myhost.tld=...
GitHub
You can create a new token in your profile settings: Developer settings > Personal access tokens > Generate new token
Make sure to enable the repo:status
, public_repo
, read:user
, and
read:org
permissions in particular.
GitLab
You can create a new token in your profile settings: User Settings > Access Tokens
Make sure to enable the read_user
, read_api
, and read_repository
permissions.
Gitea
You can create a new token in your profile settings: Settings > Applications > Manage Access Tokens
Usage
You can start gitty
with either a path or a URL as an argument. If no argument
was provided, gitty
will operate on the current working directory.
$ gitty /some/repo
$ gitty github.com/some/project
$ gitty https://myhost.tld/some/project
The following flags are supported:
-max-branch-age int
Max age of a branch in days to be considered active (default 28)
-max-branches int
Max amount of active branches to show (default 10)
-max-commits int
Max amount of commits to show (default 10)
-max-issues int
Max amount of issues to show (default 10)
-max-pull-requests int
Max amount of pull requests to show (default 10)
Open issue or pull request in browser
If you launch gitty
with the ID of an issue or pull request, it will open the
issue or pull request in your browser:
$ gitty [PATH|URL] 42
Monitoring entire namespaces
gitty also lets you monitor entire namespaces, giving you an overview of all its repositories:
$ gitty --all-projects github.com
Per default it will show the projects of the token owner, but you can also retrieve the projects of other namespaces:
$ gitty --all-projects --namespace muesli github.com
Feedback
Got some feedback or suggestions? Please open an issue or drop me a note!