Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muesli/gitty
Contextual information about your git projects, right on the command-line
https://github.com/muesli/gitty
cli git gitea github gitlab terminal tui
Last synced: 29 days ago
JSON representation
Contextual information about your git projects, right on the command-line
- Host: GitHub
- URL: https://github.com/muesli/gitty
- Owner: muesli
- License: mit
- Created: 2021-08-23T21:21:37.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-07T15:12:26.000Z (over 1 year ago)
- Last Synced: 2024-10-30T08:19:08.582Z (about 1 month ago)
- Topics: cli, git, gitea, github, gitlab, terminal, tui
- Language: Go
- Homepage:
- Size: 650 KB
- Stars: 520
- Watchers: 5
- Forks: 22
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - muesli/gitty - Contextual information about your git projects, right on the command-line (Go)
README
# gitty
[![Latest Release](https://img.shields.io/github/release/muesli/gitty.svg)](https://github.com/muesli/gitty/releases)
[![Build Status](https://github.com/muesli/gitty/workflows/build/badge.svg)](https://github.com/muesli/gitty/actions)
[![Go ReportCard](https://goreportcard.com/badge/muesli/gitty)](https://goreportcard.com/report/muesli/gitty)
[![GoDoc](https://godoc.org/github.com/golang/gddo?status.svg)](https://pkg.go.dev/github.com/muesli/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.![Screenshot](screenshot.png)
## Installation
### Packages
#### Linux
- Arch Linux: [gitty](https://aur.archlinux.org/packages/gitty/)
- Nix: `nix-env -iA nixpkgs.gitty`
- [Packages](https://github.com/muesli/gitty/releases) in Debian & RPM formats### Binaries
- [Binaries](https://github.com/muesli/gitty/releases) 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](http://golang.org/doc/install.html).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](https://github.com/settings/tokens/new?scopes=repo:status,public_repo,read:user,read:org&description=gitty)
in your profile settings:
Developer settings > Personal access tokens > Generate new tokenMake 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 TokensMake 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.```bash
$ 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:```bash
$ gitty [PATH|URL] 42
```### Monitoring entire namespaces
gitty also lets you monitor entire namespaces, giving you an overview of all its
repositories:```bash
$ 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:```bash
$ gitty --all-projects --namespace muesli github.com
```## Feedback
Got some feedback or suggestions? Please open an issue or drop me a note!
* [Twitter](https://twitter.com/mueslix)
* [The Fediverse](https://mastodon.social/@fribbledom)