Skip to content

Instantly share code, notes, and snippets.

@ankurk91
Last active October 22, 2023 12:16
  • Star 48 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save ankurk91/2efe14650d54d7d09528cea3ed432f6d to your computer and use it in GitHub Desktop.
:octocat: Git branch name in Linux/Mac Bash Terminal

Mac OS : Show your git branch name on your bash terminal

⚠️ Does not work in zsh terminal

Add these lines in your ~/.bash_profile file

# Show current git branch name
parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "

Alternate approach - Don't show full path

# Git branch in prompt.
parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \W\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
  • Quit and re-open your terminal , cd to a git repo folder

Tested on macOS Sierra/High Sierra/Mojave (default bash terminal)

Source, Source2

Ubuntu: Show your git branch name on your terminal

Add these lines in your ~/.bashrc file

# Show git branch name
force_color_prompt=yes
color_prompt=yes
parse_git_branch() {
 git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
if [ "$color_prompt" = yes ]; then
 PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
 PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
  • Close and re-open your gnome-terminal , cd to a git repo folder

Source

Tested on Ubuntu 18.04/20.04/22.04 on gnome terminal

@ucavalcante
Copy link

tks and this work on Debian too

@lurodrig
Copy link

It works, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment