https://github.com/joeperpetua/git-i
An interactive git wrapper to save time in your daily workflow.
https://github.com/joeperpetua/git-i
cli git git-interactive interactive shell
Last synced: 9 months ago
JSON representation
An interactive git wrapper to save time in your daily workflow.
- Host: GitHub
- URL: https://github.com/joeperpetua/git-i
- Owner: joeperpetua
- License: mit
- Created: 2025-06-30T16:04:32.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-07-04T13:09:00.000Z (9 months ago)
- Last Synced: 2025-07-04T14:51:25.863Z (9 months ago)
- Topics: cli, git, git-interactive, interactive, shell
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@joeperpetua/git-i
- Size: 33.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# git-i
A command-line tool that provides a simple, interactive interface for common Git operations.
## Overview
`git-i` is designed to streamline your daily Git workflow. Instead of remembering various Git commands and flags, you can use this tool to perform actions like adding, committing, and pushing changes through an easy-to-use interactive menu.
It's perfect for both beginners who are learning Git and experienced developers who want to speed up their workflow.
## Installation
To install `git-i` globally on your system, run the following command:
```bash
npm install -g @joeperpetua/git-i
```
## Usage
You can use `git-i` in two main ways:
### 1. Interactive Mode
Run the tool without any arguments to launch the main menu. This menu lists all available actions.
```bash
git-i
```
You will see a prompt like this:
```
? What would you like to do? › - Use arrow-keys. Return to submit.
❯ Add files
Restore changes
Delete branches
Commit changes
Amend previous commit
Push to remote
Force push to remote
Exit
```
Navigate with arrow keys and press `Enter` to select an option.
### 2. Direct Command Mode
You can also execute a specific command directly from your terminal.
```bash
git-i [options]
```
## Supported Commands
### `add`
Interactively select files to stage for the next commit. It displays a list of all new, modified, or deleted files in your working directory.
**Usage:**
```bash
git-i add
```
This will show a checklist of files. Use the `` bar to select/deselect files and `` to stage them.
### `restore`
Interactively unstage files or discard changes in your working directory.
**Usage:**
```bash
git-i restore
```
This command presents a list of both staged and unstaged changes.
- Selecting **staged** changes will unstage them (equivalent to `git restore --staged `).
- Selecting **unstaged** changes will discard them from your working directory (equivalent to `git restore `).
### `branch delete`
Interactively select and delete local branches.
**Usage:**
```bash
git-i branch delete
```
It lists all local branches except for the current branch, allowing you to select multiple branches for deletion.
### `commit`
Guides you through creating a commit.
**Usage:**
```bash
git-i commit
```
**Options:**
- `--amend`: Use this flag to amend the previous commit instead of creating a new one. The interactive menu provides a separate option for this.
The command will prompt you for a commit message (required) and an optional commit description.
### `push`
Guides you through pushing your changes to a remote repository.
**Usage:**
```bash
git-i push
```
**Options:**
- `--force`: Use this flag to perform a force push. The interactive menu provides a separate option for this.
The command will prompt you to select a remote and a branch to push to, defaulting to the current branch.
## Contributing
Contributions are welcome! If you have ideas for new features or find a bug, please open an issue or submit a pull request.
## License
This project is licensed under the MIT License.