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

https://github.com/apainintheneck/igitsh

an interactive git shell
https://github.com/apainintheneck/igitsh

git ruby shell

Last synced: about 2 months ago
JSON representation

an interactive git shell

Awesome Lists containing this project

README

          

# 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](https://gist.github.com/apainintheneck/ddc87043a645e87f2d9e02b69be155b6). Then, I tried to implement it in a [crystal program](https://github.com/apainintheneck/gitsh-cr) and now I've implemented it in Ruby.

## Installation

```console
$ bundle install
$ bundle rake install
```

## Usage

```console
$ 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 ' 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](./assets/igitsh-v1.0.0.gif)

## Development

```console
# 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

- Gitsh: An interactive shell for git
- Repo: https://github.com/thoughtbot/gitsh
- Language: Ruby
- Last Updated: December 16, 2019
- Gitsh: lame git wrapper tool that tries to make git act like a shell - highly unstable, prickly, experimental, and all-around bad.
- Repo: https://github.com/belden/gitsh
- Language: Perl
- Last Updated: March 3, 2015
- Gitsh: A simple git shell
- Repo: https://github.com/caglar/gitsh
- Language: Perl
- Last Updated: September 26, 2011

## License

The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).