Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ytakahashi/igit
Interactive git commands using fzf, available as zsh plugin
https://github.com/ytakahashi/igit
fzf git zsh zsh-plugin
Last synced: 15 days ago
JSON representation
Interactive git commands using fzf, available as zsh plugin
- Host: GitHub
- URL: https://github.com/ytakahashi/igit
- Owner: ytakahashi
- License: mit
- Created: 2018-04-30T02:14:37.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-03-17T22:17:09.000Z (8 months ago)
- Last Synced: 2024-10-04T15:29:15.614Z (about 1 month ago)
- Topics: fzf, git, zsh, zsh-plugin
- Language: Shell
- Homepage:
- Size: 43.9 KB
- Stars: 16
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# igit
`igit` - interactive git command using fzf
![igit](https://user-images.githubusercontent.com/26239560/45913024-20246d80-be66-11e8-904c-63bad327e1ce.gif)
## Requirements
- zsh
- [fzf](https://github.com/junegunn/fzf)## Install
### With [zinit](https://github.com/zdharma-continuum/zinit)
```zsh
zinit light ytakahashi/igit# or
# zinit load ytakahashi/igit
```### With [zplug](https://github.com/zplug/zplug) :hibiscus:
```zsh
zplug "ytakahashi/igit"
```### Manually
Clone this repository and load `igit.plugin.zsh` from `.zshrc`
```.zshrc
source /path/to/igit.plugin.zsh
```## Usage
```shell
igit [command]
```command: `add`, `branch`, `cherry-pick`, `delete`, `diff`, `log`, `merge`, `stash`, `switch`, `tag`, `revert`
### Basic usage
Basic operation on fzf window.
| Key | Description |
| :---------------------------------------------------------- | :--------------------- |
| Ctrl+j/n | Move cursor down |
| Ctrl+k/p | Move cursor up |
| Ctrl+c/g or Esc | Exit |`igit` specific operation on fzf window.
| Key | Description |
| :---------------------------- | :------------------------------------------------------------------------------ |
| Ctrl+s | See selected file/branch/commit |
| Alt+ `key` | Put git command using selected file/branch/commit onto the editing buffer stack |### igit help
Show available commands.
### igit add
Show current status and add selected files.
| Key | Description |
| :---------------------------------------------- | :--------------------- |
| Ctrl+i or Tab | Mark/Unmark files |
| Alt+a | Add selected files |### igit branch
Show local and remote branchs.
| Key | Description |
| :----------------------------------------- | :---------------------------------------- |
| Alt+d | Delete selected branch |
| Alt+s | Switch to selected branch |
| Alt+m | Merge selected branch into current branch |### igit cherry-pick
Show commit log and cherry-pick selected commit.
| Key | Description |
| :----------------------------------------- | :--------------------- |
| Enter | Cherry-pick the commit |### igit delete
Show branches and delete selected branch(es).
| Key | Description |
| :----------------------------------------- | :-------------------- |
| Enter | Delete the branch(es) |### igit diff
Shows current status and see diff of selected file.
### igit log
Show log of branch.
| Key | Description |
| :----------------------------------------- | :--------------------------- |
| Alt+h | Reset (hard) to the commit |
| Alt+m | Reset (mixed) to the commit |
| Alt+s | Reset (soft) to the commit |### igit stash
Show stashes.
| Key | Description |
| :----------------------------------------- | :--------------------------- |
| Alt+a | Apply selected stash |
| Alt+d | Drop selected stash |### igit tag
Show tags.
| Key | Description |
| :----------------------------------------- | :--------------------------- |
| Ctrl+s | Show selected tag |
| Alt+c | Show diff between the tags |
| Alt+p | Push the tag to origin |
| Alt+s | Switch to selected tag |## Key Bingings
Following key bindings are available.
| Key | Command |
| :---------------------------------------------------------- | :--------------------- |
| Ctrl+g Ctrl+a | igit add |
| Ctrl+g Ctrl+b | igit branch |
| Ctrl+g Ctrl+l | igit log |
| Ctrl+g Ctrl+m | igit merge |
| Ctrl+g Ctrl+s | igit switch |