git 删除git远程分支
正如我在上一篇文章中所宣布的那样, 我问我的同事Tillman是否允许我为zshell发布他不错的扩展名(您可能已经得出结论,他表示同意!)。
这里是:
# Required to have the colour names
autoload colors zsh/terminfo
if [[ "$terminfo[colors]" -ge 8 ]]; thencolors
fi
for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; doeval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'(( count = $count + 1 ))
done
PR_NO_COLOUR="%{$terminfo[sgr0]%}"# Thanks Tillman
function get_color(){
BRANCH=`git rev-parse --abbrev-ref HEAD`
case "$BRANCH" in
*master*) COLOR=${PR_RED} ;;
*hotfix*) COLOR=${PR_MAGENTA} ;;
*release-candidate*) COLOR=${PR_YELLOW} ;;
*release*) COLOR=${PR_YELLOW} ;;
*bugfix*) COLOR=${PR_CYAN} ;;
*develop*) COLOR=${PR_BLUE} ;;
*) COLOR=${PR_GREEN} ;;
esac
echo $COLOR
}
颜色映射与这些图中的相同
分支到环境/配置文件的映射
例如,可以在添加此git status帮助程序并使用get_color函数对其进行优化时进行应用。
function git_status () {local outputgs=$(git status 2> /dev/null)if [[ $? == 128 ]]; thenreturnfiref=$(git symbolic-ref HEAD 2> /dev/null) || returnoutput=${$(get_color)}" "${ref#refs/heads/}if echo "$gs" | grep -q "Changes to be committed"; thenoutput=${output}${PR_GREEN}+fiif echo "$gs" | grep -Eq "(Changes not staged for commit|Changed but not updated)"; thenoutput=${output}${PR_RED}!fiif echo "$gs" | grep -q "Untracked files"; thenoutput=${output}${PR_RED}?fi echo "${output}${PR_NO_COLOUR}"
}PROMPT=$'%(?,${PR_GREEN}+,${PR_RED}-)${PR_NO_COLOUR} %(4c,./%1~,%~) $(git_status) %(!.${PR_RED}#${PR_NO_COLOUR} .%% )'
至少有一些例子:
翻译自: https://www.javacodegeeks.com/2014/02/git-zshell-colorize-your-shell-depending-on-your-branch.html
git 删除git远程分支