Home

Awesome

Core

Consider putting related commands together, such as push and pull, to decide how to execute based on the current environment or specified parameters.

This mode is more convenient, but more difficult to implement in traditional shells such as zsh.

In nushell it's very easy.

In this way, the commands that need to be memorized will be greatly reduced, and the parameters can be automatically completed. In the most common scenarios, it is even possible to omit the parameter.

In contrast, the behavior of commands requires fine-tuning to be intuitive. (there may still be some unreasonable places that need to be adjusted)

I tried to tidy part of it, and it is basically usable. (The goal is to organize all aliases to where they should go)

gs

Git status and stash.

gl

Git log and show.

gb

About the branch.

Create branch if it doesn't exist, switch otherwise (branch are automatically completed), use -d to delete.

If there is no branch as an argument, the branch is displayed.

gp

Pull, push and other related to remote repositories

We assume that the upstream and downstream branches keep the same name and do not operate across branches.

ga

Git add, rm and restore. about files.

Use ga because git add has the highest execution frequency, and ga is the most convenient input.

gc

Git commit

gd

Git diff

gm

Git merge

gr

Git rebase

gcp

Git cherry-pick

grmt

Git remote

gbs

Git bisect

git-sync