Last active
November 22, 2018 15:07
-
-
Save ankedsgn/416ef7bd018c6a53fed672467e597dbe to your computer and use it in GitHub Desktop.
Show git branch in command line
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# show git branch in prompt | |
# https://coderwall.com/p/pn8f0g/show-your-git-status-and-branch-in-color-at-the-command-prompt | |
# add to .profile of your user directory ( nano ~/.profile ) | |
# reload with: source ~/.profile | |
COLOR_RED="\033[0;31m" | |
COLOR_YELLOW="\033[0;33m" | |
COLOR_GREEN="\033[0;32m" | |
COLOR_OCHRE="\033[38;5;95m" | |
COLOR_BLUE="\033[0;34m" | |
COLOR_WHITE="\033[0;37m" | |
COLOR_RESET="\033[0m" | |
function git_color { | |
local git_status="$(git status 2> /dev/null)" | |
if [[ ! $git_status =~ "working directory clean" ]]; then | |
echo -e $COLOR_RED | |
elif [[ $git_status =~ "Your branch is ahead of" ]]; then | |
echo -e $COLOR_YELLOW | |
elif [[ $git_status =~ "nothing to commit" ]]; then | |
echo -e $COLOR_GREEN | |
else | |
echo -e $COLOR_OCHRE | |
fi | |
} | |
function git_branch { | |
local git_status="$(git status 2> /dev/null)" | |
local on_branch="On branch ([^${IFS}]*)" | |
local on_commit="HEAD detached at ([^${IFS}]*)" | |
if [[ $git_status =~ $on_branch ]]; then | |
local branch=${BASH_REMATCH[1]} | |
echo "($branch)" | |
elif [[ $git_status =~ $on_commit ]]; then | |
local commit=${BASH_REMATCH[1]} | |
echo "($commit)" | |
fi | |
} | |
PS1+="\[\$(git_color)\]" # colors git status | |
PS1+="\$(git_branch)" # prints current branch | |
PS1+="\[$COLOR_RESET\] " | |
export PS1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment