Giter Club home page Giter Club logo

god's Introduction

god Release

Build Status Go Report Card License

Linux utility for simplifying the Git usage.

god parses the available Git commands from the retrieved list (git help) and turns them into an easy-to-type, one or two char format at the execution time. Shortcuts of commonly used git commands are supported for simplifying the usage and speeding up typing even more.

Installation

AUR (god)

AUR

Installation can be made with a AUR helper tool like Trizen or yay.

yay -S god

Manual Installation

Install the dependencies.

go get -d ./...

Set the required Go environment variables if not set for the installation. See this link for setting environment variables globally.

export GOPATH=~/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

And finally install the god package.

go install

Commands

god > ?
+---------+-----------------------------+
| COMMAND |         DESCRIPTION         |
+---------+-----------------------------+
| exit    | Exit shell                  |
| git     | List available git commands |
| sc      | List git shortcuts          |
| alias   | Print shell or git aliases  |
| help    | Show this help message      |
| version | Show version information    |
| clear   | Clear the terminal          |
+---------+-----------------------------+

git

god > git
+---------+----------+
| COMMAND |   GIT    |
+---------+----------+
| c       | clone    |
| i       | init     |
| a       | add      |
| m       | mv       |
| r       | reset    |
| rm      | rm       |
| b       | bisect   |
| g       | grep     |
| l       | log      |
| s       | show     |
| st      | status   |
| bn      | branch   |
| ck      | checkout |
| cm      | commit   |
| d       | diff     |
| mr      | merge    |
| ra      | rebase   |
| t       | tag      |
| f       | fetch    |
| p       | pull     |
| ps      | push     |
| mt      | master   |
| o       | origin   |
+---------+----------+

Example output of shortened git commands.

sc

god > sc   
+----------+--------------------------------+
| SHORTCUT |            COMMAND             |
+----------+--------------------------------+
| aa       | add -A                         |
| cmt      | commit -m                      |
| rmt      | remote -v                      |
| rr       | rm -r                          |
| ll       | log --graph --decorate --all   |
| lo       | log --graph --decorate         |
|          | --oneline --all                |
| ls       | ls-files                       |
+----------+--------------------------------+

Git shortcuts.

Executing non-git commands

Other terminal commands can be executed with adding a '#' character before the command. It's necessary for non-git commands because the god executes all other terminal inputs with git.

god > # ps
PID   TTY    TIME     CMD
23965 pts/2  00:00:00 bash
30306 pts/2  00:00:00 go
30361 pts/2  00:00:00 god
30519 pts/2  00:00:00 ps
god > # pwd
/home/k3/god

Demo

demo

Example

god > st
On branch master
	modified:   README.md
no changes added to commit (use "git add" and/or "git commit -a")

god > a README.md

god > cmt "doc: Update README.md"
[master fba7e79] doc: Update README.md
 1 file changed, 14 insertions(+)

god > ps o mt
To https://github.com/orhun/god.git
   45e8aba..fba7e79  master -> master

FAQ

Q: So it's a tool just to create some shortcuts for Git commands? Have you heard of git aliases?

A: Yes.

Q: Well, ok.

A: k

Todo(s)

  • Support adding custom shortcuts.
  • Auto-complete commands.
  • Support custom prompt.

License

GNU General Public License (v3)

Copyright

Copyright (c) 2019-2020, orhun

god's People

Contributors

orhun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

god's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.