mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-26 02:12:33 +01:00
85 lines
No EOL
2.2 KiB
Bash
85 lines
No EOL
2.2 KiB
Bash
# Aliases
|
|
alias g='git'
|
|
alias gst='git status'
|
|
alias gl='git pull'
|
|
alias gup='git fetch && git rebase'
|
|
alias gp='git push'
|
|
alias gd='git diff | mate'
|
|
alias gdv='git diff -w "$@" | vim -R -'
|
|
alias gc='git commit -v'
|
|
alias gca='git commit -v -a'
|
|
alias gb='git branch'
|
|
alias gba='git branch -a'
|
|
alias gcount='git shortlog -sn'
|
|
alias gcp='git cherry-pick'
|
|
alias glg='git log --stat --max-count=5'
|
|
|
|
# Git and svn mix
|
|
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
|
|
|
#
|
|
# Will return the current branch name
|
|
# Usage example: git pull origin $(current_branch)
|
|
#
|
|
function current_branch() {
|
|
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
|
|
echo ${ref#refs/heads/}
|
|
}
|
|
|
|
# __git_ps1 accepts 0 or 1 arguments (i.e., format string)
|
|
# returns text to add to bash PS1 prompt (includes branch name)
|
|
function __git_ps1 () {
|
|
local g="$(git rev-parse --git-dir 2>/dev/null)"
|
|
if [ -n "$g" ]; then
|
|
local r
|
|
local b
|
|
if [ -d "$g/rebase-apply" ]
|
|
then
|
|
if test -f "$g/rebase-apply/rebasing"
|
|
then
|
|
r="|REBASE"
|
|
elif test -f "$g/rebase-apply/applying"
|
|
then
|
|
r="|AM"
|
|
else
|
|
r="|AM/REBASE"
|
|
fi
|
|
b="$(git symbolic-ref HEAD 2>/dev/null)"
|
|
elif [ -f "$g/rebase-merge/interactive" ]
|
|
then
|
|
r="|REBASE-i"
|
|
b="$(cat "$g/rebase-merge/head-name")"
|
|
elif [ -d "$g/rebase-merge" ]
|
|
then
|
|
r="|REBASE-m"
|
|
b="$(cat "$g/rebase-merge/head-name")"
|
|
elif [ -f "$g/MERGE_HEAD" ]
|
|
then
|
|
r="|MERGING"
|
|
b="$(git symbolic-ref HEAD 2>/dev/null)"
|
|
else
|
|
if [ -f "$g/BISECT_LOG" ]
|
|
then
|
|
r="|BISECTING"
|
|
fi
|
|
if ! b="$(git symbolic-ref HEAD 2>/dev/null)"
|
|
then
|
|
if ! b="$(git describe --exact-match HEAD 2>/dev/null)"
|
|
then
|
|
b="$(cut -c1-7 "$g/HEAD")..."
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [ -n "${1-}" ]; then
|
|
printf "$1" "${b##refs/heads/}$r"
|
|
else
|
|
printf " (%s)" "${b##refs/heads/}$r"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# these aliases take advangate of the previous function
|
|
alias ggpull='git pull origin $(current_branch)'
|
|
alias ggpush='git push origin $(current_branch)'
|
|
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' |