The next version of the GitGud CLI

GitGud CLI

GitGud

This repository is cross-platform CLI (Command Line Interface) for the GitGud modular git model. It contains a series of commands that help you use git more quickly and following the model.

Installation

Just download and drop the latest release into a folder, add it to your path and call the executable in your terminal of preference.

Usage

Using it is rather simple, after you have it on your path you can call it using: gitgud <module> <subcommand>

The commands are divided into modules, just like the original model, the ones available at the moment are:

Commit Module

This module is equivalent to the Commit submodel

This command is a wrapper around the git commit -m, which means that you can use the flags -a and --amend

gitgud commit -m "Commit subject"
gitgud c -m "Commit subject"

Flags

The following flags can be used:

  • -a or --all : Equivalent to the same flag in git
  • --amend : Equivalent to the same flag in git
  • -m : Equivalent to the same flag in git
  • -d or --domain : Add a domain to the commit (an impacted area of the code)
  • -q or --quick : Don't ask for missing parts of the commit if none is provided (Only the domain in that case)

Full commit

The full commit subcommand is a variation of the base command that will generate a complete commit message (with body and footer)

gitgud commit -m "Commit subject" full
gitgud commit -m "Commit subject" f

The following flags can be used after the subcommand:

  • -b or --body : Specify the text of the body of the commit
  • -c or --closes : Specify a list of closed issues by the commit
  • -s or --see : Specify a list of referenced issues by the commit

Generate

This subcommand will simply generate a commit message, without actually committing anything

gitgud commit generate
gitgud c gen

Flow Module

This module is equivalent to the Flow submodel

Flow Init

The init command will initialize a new local Git repository and create the stable branch, if a repository is already found in the folder, it will instead only create the stable branch, additionally, if the --remote or -r flag is provided, it will automatically add the origin remote and push the local repository to it

gitgud flow init --remote 'git@github:User/Repo.git'
gitgud f init -r 'git@github:User/Repo.git'

Also, the --defaultBranch or -d flag can be provided to change the default name

Flow Start

The start command will create a new branch with the prefixed type, which can be selected from a list. The branch name can be provided via the --branchName or -b flag, otherwise it will be asked during the process

gitgud flow init --branchName 'my-feature-branch'
gitgud f init -v 'my-feature-branch'

Compiling

You are welcome to clone and compile this repository. For this you will need Go on the latest version and compile it from the terminal using:

go -o gitgud

Contributing

You are more than welcome to contribute to this repository opening issues and pull requests, just remember to follow the specifications of the GitGud model, as this repository follows all of it (obviously).

Owner
Helton Reis
Solutions Architect || C# | TS | Vue | Docker | .NET | Computer Science PUC Minas
Helton Reis
Similar Resources

gomUP is a tool to keep track of outdated dependencies and upgrade them to the latest version

gomUP is a tool to keep track of outdated dependencies and upgrade them to the latest version

gomUP 🆙 gomUP is a tool to keep track of outdated dependencies and upgrade them to the latest version. Designed for monorepo Go projects and Go proje

Jul 26, 2022

Touchd - A friendlier version of touch

Touchd - A friendlier version of touch Background I often find myself wanting to create a file inside of a non existing directory. To accomplish this

Feb 6, 2022

Needlessly complex program to parse, increment, and push the latest version number tag on github. Made with 😫 , 😓 & 😭

increment What is this? Needlessly complex program to parse, increment, and push the latest version number tag on github. Err handling by Sentry Made

Feb 28, 2022

Elegant CLI wrapper for kubeseal CLI

Overview This is a wrapper CLI ofkubeseal CLI, specifically the raw mode. If you just need to encrypt your secret on RAW mode, this CLI will be the ea

Jan 8, 2022

CLI to run a docker image with R. CLI built using cobra library in go.

CLI  to run a docker image with R. CLI built using cobra library in go.

BlueBeak Installation Guide Task 1: Building the CLI The directory structure looks like Fastest process: 1)cd into bbtools 2)cd into bbtools/bin 3)I h

Dec 20, 2021

A wrapper of aliyun-cli subcommand alidns, run aliyun-cli in Declarative mode.

aliyun-dns A wrapper of aliyun-cli subcommand alidns, run aliyun-cli in Declarative mode. Installation Install aliyun-cli. Usage $ aliyun-dns -h A wra

Dec 21, 2021

Symfony-cli - The Symfony CLI tool For Golang

Symfony CLI Install To install Symfony CLI, please download the appropriate vers

Dec 28, 2022

Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files.

ftctl This is a file downloader cli written in Golang which uses the concurrent feature of go to download files. The cli is built using cobra. How to

Jan 2, 2022
A very very simple CLI tool to know the next and previous SpaceX flights.

Rocket A very very simple CLI tool to know the next and previous SpaceX flights. Commands rocket Get the next flight. rocket latest Get the last fligh

Apr 19, 2021
This is the next generation Go based Airbyte CLI.

Airbyte CLI This is the next generation Go based Airbyte CLI. Contents Setup Configuration as YAML Usage get search check logs export create Setup Clo

Dec 14, 2022
dots is CLI tool to build, version and publish config file bundles.

dots-cli dots is CLI tool to build, version and publish config file bundles. TODO (shared): Writing comprehensive documentation Designing landing page

Aug 24, 2022
Declarative CLI Version manager. Support Lazy Install and Sharable configuration mechanism named Registry. Switch versions seamlessly

aqua Declarative CLI Version manager. Support Lazy Install and Sharable configuration mechanism named Registry. Switch versions seamlessly. Index Slid

Dec 29, 2022
Generate ANSI-/Ascii-art version images/Gifs in your terminal.
Generate ANSI-/Ascii-art version images/Gifs in your terminal.

ANSI-Art NOTE: This toy project is not yet finished. ANSI-version Logo Block ANSI-version Logo ASCII-version Logo Support Platform You are kindly remi

Jan 6, 2023
gh extension for bumping version of a repository
gh extension for bumping version of a repository

gh bump a gh extension for bumping version of a repository. Usage gh bump with another repository. gh bump -R <repository> Installation gh extension

Dec 14, 2022
Go-Suit is a very very wacky version of a bash terminal but in go, however with a little twitst

Go-Suit Go-Suit is a very very wacky version of a bash terminal but in go, however with a little twitst languages -> Go-Lang packages Third Party -> g

May 19, 2022
A version bumper for homebrew formula and others

bumper (go-bumper) go-bumper is a golang CLI app to provide the formula versions bumping operation for Homebrew. We made Bumper because brew bump-form

Dec 16, 2021
modified version of github.com/melbahja/goph, thanks.
modified version of github.com/melbahja/goph, thanks.

Goph modified version of github.com/melbahja/goph, thanks. Golang SSH Client. Fast and easy golang ssh client module. Goph is a lightweight Go SSH cli

Dec 20, 2021
Hasura-fzf - This command has a fzf-like UI that allows you to find and run the file version used by the hasura command

hasura-fzf This command has a fzf-like UI that allows you to find and run the fi

Sep 29, 2022