Skip to content

apainintheneck/igitsh

Repository files navigation

Igitsh

This is an interactive shell for Git that facilitates common actions by including shell completions, shell history and removes the need to preface each command with the word git.

I originally started this as an awk script. Then, I tried to implement it in a crystal program and now I've implemented it in Ruby.

Installation

$ bundle install
$ bundle rake install

Usage

$ igitsh

Use the :commands command to list all internal and external (Git) commands.

Igitsh Internal Commands
   :alias                  Create local and global Git aliases for common command combinations.
   :commands               List all internal and external commands along with descriptions.
   :exit                   Gracefully exit the program. This is equivalent to ctrl-c or ctrl-d.
   :history                Browse your Igitsh shell history with syntax highlighting.

See 'git help <command>' to read about a specific subcommand

Main Porcelain Commands
   add                     Add file contents to the index
   am                      Apply a series of patches from a mailbox
   archive                 Create an archive of files from a named tree
   ...

Tips:

  • Syntax highlighting can give you information about whether your input is valid.
  • Typing ./ can give you filepath completions.

GIF demoing the shell

Development

# Linting
$ bundle exec rake standard

# Testing
$ bundle exec rake spec

# Linting & Testing
$ bundle exec rake

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/apainintheneck/igitsh.

Related Projects

License

The gem is available as open source under the terms of the MIT License.

About

an interactive git shell

Topics

Resources

License

Stars

Watchers

Forks