https://github.com/leohenon/interactive-git-status
A minimal interactive git status for faster staging.
https://github.com/leohenon/interactive-git-status
cli git git-status
Last synced: about 1 month ago
JSON representation
A minimal interactive git status for faster staging.
- Host: GitHub
- URL: https://github.com/leohenon/interactive-git-status
- Owner: leohenon
- License: mit
- Created: 2026-05-17T04:41:09.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2026-05-17T07:18:28.000Z (about 1 month ago)
- Last Synced: 2026-05-17T07:38:22.939Z (about 1 month ago)
- Topics: cli, git, git-status
- Language: Go
- Homepage:
- Size: 994 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
interactive-git-status
A minimal interactive git status for faster staging.
## Install
Homebrew:
```sh
brew install leohenon/tap/igs
```
Go:
```sh
go install github.com/leohenon/interactive-git-status/cmd/igs@latest
```
## Usage
```sh
igs
```

```sh
igs --short
```

## Flags
| Flag | Description |
| --------------- | --------------------------------------------------------- |
| `-s`, `--short` | Use compact interactive status view |
| `--ignored` | Show ignored files |
| `--show-stash` | Show stash count. Also shown when `status.showStash=true` |
| `--watch` | Refresh status automatically |
| `--version` | Show version |
| `-h`, `--help` | Show usage |
## Keybindings
| Key | Action |
| -------------------- | ------------------------------------ |
| `enter` | Toggle selected file staged/unstaged |
| `s` | Stage selected file |
| `u` | Unstage selected file |
| `a` | Toggle all for current side |
| `S` | Stage all |
| `U` | Unstage all |
| `c` | Commit staged changes |
| `r` | Refresh |
| `j`, `↓` | Move down |
| `k`, `↑` | Move up |
| `ctrl-d` | Move down half a screen |
| `ctrl-u` | Move up half a screen |
| `g` | Jump to top |
| `G` | Jump to bottom |
| `tab` | Jump to next section |
| `q`, `esc`, `ctrl-c` | Exit |
## Why
Keep the familiar `git status` view, but stage, unstage, and commit interactively.
## What it does
- Supports staged, unstaged, untracked, ignored, and unmerged files
- Shows branch, upstream, stash, sparse checkout, detached HEAD, and in-progress operation state
- Handles renamed files, copied files, submodules, and paths with spaces
> Supports macOS and Linux.
## Example aliases
```sh
alias gs='igs'
alias gss='igs --short'
```
## License
MIT