Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save VasylShevchenko/c6b220db2880925aefb2b276cc21a817 to your computer and use it in GitHub Desktop.
Save VasylShevchenko/c6b220db2880925aefb2b276cc21a817 to your computer and use it in GitHub Desktop.
Add Git Branch Name to Terminal Prompt (Mac)

Add Git Branch Name to Terminal Prompt (Mac)

image

Open ~/.bash_profile in your favorite editor and add the following content to the bottom.

Version 1

######### 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\] $ "
# or
export PS1="\w \t\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "

Version 2

######### Git branch in prompt #########
parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/| (\1)/'
}
parse_folder_parent() {
  dirname $PWD
}
parse_date() {
 date '+%a %m/%d %I:%M %p'
}
export PS1="$(parse_date) \$(parse_folder_parent)/\[\033[32m\]\${PWD##*/}\[\033[00m\]\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
######### Git branch in prompt END########

Version 2

######### Git branch in prompt #########
parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ ❱ \1 ❰/'
}
parse_folder_parent() {
  dirname $PWD
}
parse_folder_name() {
  basename "$PWD"
}
parse_date() {
 #date '+%a %m/%d %I:%M %p'
 date '+%I:%M %p'
}
#export PS1="[$(parse_date)] \$(parse_folder_parent)\[\033[32m\]/${PWD##*/}\[\033[00m\]\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
export PS1="\[\033[0;34m\]\$(parse_date)\[\033[0m\] \$(parse_folder_parent)\[\033[32m\]/\$(parse_folder_name)\[\033[0m\]\[\033[0;36m\]\$(parse_git_branch)\[\033[0m\] $ "
######### Git branch in prompt END########

Version 3!

######### Git branch in prompt #########
parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ ❱ \1 ❰/'
}
parse_folder_parent() {
  dirname $PWD
}
parse_folder_name() {
  basename "$PWD"
}
parse_date() {
 #date '+%a %m/%d %I:%M %p'
 date '+%I:%M %p'
}
#export PS1="[$(parse_date)] \$(parse_folder_parent)\[\033[32m\]/${PWD##*/}\[\033[00m\]\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
export PS1="\[\033[0;34m\]\$(parse_date)\[\033[0m\] \$(parse_folder_parent)\[\033[32m\]/\$(parse_folder_name)\[\033[0m\]\[\033[0;36m\]\$(parse_git_branch)\[\033[0m\] $ "
######### Git branch in prompt END########

Custom Setup https://intelligentbee.com/2015/05/01/how-to-show-the-full-path-in-the-os-x-terminal/

By MARTIN FITZPATRICK at http://martinfitzpatrick.name/article/add-git-branch-name-to-terminal-prompt-mac/

Agnoster Bash https://github.com/speedenator/agnoster-bash

https://superuser.com/questions/239994/how-to-have-full-directory-path-always-shown-in-mac-terminal-like-linux-termina

https://wiki.archlinux.org/title/Bash/Prompt_customization

https://medium.com/@ajaykarwal/edit-the-terminal-prompt-name-on-macos-4d80163be6a1

https://rtfm.co.ua/bash-formatirovanie-daty/

How to Change the Colour of Your Bash Prompt on Mac

https://medium.com/macoclock/how-to-change-the-colour-of-your-bash-prompt-on-mac-b06032543353

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