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
- Host: GitHub
- URL: https://github.com/apainintheneck/igitsh
- Owner: apainintheneck
- License: mit
- Created: 2025-01-21T04:17:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-09T01:28:07.000Z (about 1 year ago)
- Last Synced: 2025-07-17T21:12:35.978Z (12 months ago)
- Topics: git, ruby, shell
- Language: Ruby
- Homepage:
- Size: 216 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
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.

## 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).