vcs: Fix git program structure
This commit is contained in:
parent
98bfbca738
commit
f6b1c5ff2e
4 changed files with 1 additions and 1 deletions
118
vcs/git/config/sh/alias.d/git.sh
Normal file
118
vcs/git/config/sh/alias.d/git.sh
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
if ! exist git; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# print git version output and get raw version number by stripping prefix
|
||||
git_version=$(git --version 2>/dev/null)
|
||||
git_version="${git_version##git version }"
|
||||
|
||||
alias g='git'
|
||||
if exist lazygit; then
|
||||
alias lg="lazygit"
|
||||
fi
|
||||
|
||||
alias ga='git add'
|
||||
alias gaa='git add --all'
|
||||
alias gai='git add -i'
|
||||
|
||||
alias gc='git commit -v'
|
||||
alias gc!='git commit -v --amend'
|
||||
alias gcn!='git commit -v --no-edit --amend'
|
||||
|
||||
if version_at_least 2.23 "$git_version"; then
|
||||
alias gcm='git switch master 2>/dev/null || git switch main'
|
||||
alias gcd='git switch develop 2>/dev/null || git switch staging'
|
||||
gcb() {
|
||||
git switch "$@" 2>/dev/null || git switch -c "$@"
|
||||
}
|
||||
else
|
||||
alias gcm='git checkout master 2>/dev/null || git checkout main'
|
||||
alias gcd='git checkout develop'
|
||||
alias gcb='git checkout -b'
|
||||
fi
|
||||
alias gco='git checkout'
|
||||
|
||||
alias gi='git ignore'
|
||||
|
||||
# normal diff
|
||||
alias gd='git diff'
|
||||
alias gds='git diff --staged'
|
||||
# word-based diff (with custom word regex)
|
||||
alias gdw='git diffword'
|
||||
alias gdws='git diffword --staged'
|
||||
# side-by-side diff
|
||||
alias gdd='git diffside'
|
||||
alias gdds='git diffside --staged'
|
||||
# syntax-based diff
|
||||
if exist difft; then
|
||||
alias gdy='git diffsyn'
|
||||
alias gdys='git diffsyn --staged'
|
||||
fi
|
||||
alias gdd='git diffside'
|
||||
alias gdds='git diffside --staged'
|
||||
# show last committed content
|
||||
alias gdl='git last'
|
||||
|
||||
# show quick log overview
|
||||
alias glg='git log --oneline --decorate --graph'
|
||||
alias glga='git log --oneline --decorate --graph --remotes --all'
|
||||
# show quick log overview - with dates
|
||||
alias glgd="git log --graph --pretty=format:'%C(auto)%h%Creset %C(cyan)%ar%Creset%C(auto)%d%Creset %s'"
|
||||
alias glgad="git log --graph --remotes --all --pretty=format:'%C(auto)%h%Creset %C(cyan)%ar%Creset%C(auto)%d%Creset %s'"
|
||||
# show detailed log overview
|
||||
alias glog='git log --stat'
|
||||
# show detailed log overview with contents
|
||||
alias gloog='git log --stat -p'
|
||||
|
||||
alias gf='git fetch'
|
||||
alias gfa='git fetchall'
|
||||
alias gl='git pull'
|
||||
|
||||
alias gpn='git push --dry-run'
|
||||
alias gp='git push'
|
||||
alias gpf!='git push --force'
|
||||
alias gpm='git pushmerge'
|
||||
alias gpa='git pushall'
|
||||
|
||||
alias grv='git remote -v'
|
||||
|
||||
alias grs='git restore --staged'
|
||||
alias grs!='git restore'
|
||||
|
||||
alias grb='git rebase'
|
||||
alias grbi='git rebase -i'
|
||||
alias grbc='git rebase --continue'
|
||||
alias grbm='git rebase master || git rebase main'
|
||||
|
||||
alias gst='git status'
|
||||
|
||||
alias gstp='git stash pop'
|
||||
alias gstl='git stash list'
|
||||
alias gstL='git stash list --stat'
|
||||
if version_at_least 2.13 "$git_version"; then
|
||||
alias gsta='git stash push'
|
||||
else
|
||||
alias gsta='git stash save'
|
||||
fi
|
||||
|
||||
if exist git-bug; then
|
||||
gb() {
|
||||
if [ "$#" -eq 1 ]; then
|
||||
git bug show "$1"
|
||||
else
|
||||
git bug ls "$@"
|
||||
fi
|
||||
}
|
||||
alias gbt='git bug termui'
|
||||
|
||||
alias gba='git bug add'
|
||||
alias gbm='git bug comment add'
|
||||
alias gbc='git bug status close'
|
||||
|
||||
alias gbp='git bug push'
|
||||
alias gbl='git bug pull'
|
||||
fi
|
||||
|
||||
unset -v git_version
|
||||
Loading…
Add table
Add a link
Reference in a new issue