Skip to content
/ gbunny Public

A set of commands, along with a REPL environment, to enhance the interaction with git in your favourite shell (bash, zsh, powershell etc...)

License

Notifications You must be signed in to change notification settings

imfaber/gbunny

Repository files navigation

gBunny logo

Simpler and faster git interactions.

npm CI Status License


📝 Table of Contents


🧐 About

gBunny is a set of commands, along with a REPL environment, to enhance the interaction with git in your favourite shell (bash, zsh, powershell etc...).

gBunny creates indexes of Git entities such as paths, branches and tags and offer utilities to make the entity selection simpler and faster.

Go to Use case examples to see more.


🏁 Getting Started

gBunny requires:

How to install

npm install -g gbunny

🎈 Usage

Once istalled, gBunny can be run with the command gbunny or with one of its shorthands if they don't conflict with existing aliases (g and gb).

There are 2 ways to run commands:

  1. by starting a new REPL session
  2. by passing sub-commands to gbunny
    $ gbunny <command>|<git-command>
    

Use case examples

Here some use case example to highlight how to use gBunny.

Checkout a branch using the branch selector or the branch index

Add files to the stage using path indexes

Add files to the stage using path selector

Commit all

About the REPL

To start a new session cd to your repository directory and run:

$ gbunny

Once the REPL is started you can run gBunny and Git sub-commands omitting the git command.

Type h to see the list of available commands.

Change the prompt theme in the REPL

At the moment there are only 2 available themes:

  • agnoster (requires Powerline font)
  • arrow

Themes can be changed with the following command:

git config --global "gbunny.repltheme" "THEME_NAME"

Prompt explanation

$ gBunny ❯ my-project ❯ master ❯ ↓1 ↑1 ~0 +2 -0 ❘ ~1 +0 -1 !
  • gBunny Indicator of a gBunny REPL session
  • my-project The repository name
  • master The current branch.
    • When green it means there are no changed files
    • Orange means there are changed files
  • ↓1 ↑1 Changes to pull and push
  • ~0 +2 -0 ❘ ~1 +0 -1 ! Changes in the index and in the work tree
    • ~ Modified files
    • + Added files
    • - Deleted files
    • ! Conflicted files

⛏️ Built Using


✍️ Authors


🎉 Acknowledgements

Inspired by


About

A set of commands, along with a REPL environment, to enhance the interaction with git in your favourite shell (bash, zsh, powershell etc...)

Resources

License

Stars

Watchers

Forks

Packages

No packages published