/igit

Interactive git commands using fzf, available as zsh plugin

Primary LanguageShellMIT LicenseMIT

igit

igit - interactive git command using fzf

igit

Requirements

Install

With zinit

zinit light ytakahashi/igit

# or
# zinit load ytakahashi/igit

With zplug 🌺

zplug "ytakahashi/igit"

Manually

Clone this repository and load igit.plugin.zsh from .zshrc

source /path/to/igit.plugin.zsh

Usage

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 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