Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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      |