How to Set Up Git Completion and Repo State on OS X(neverstopbuilding.net) |
How to Set Up Git Completion and Repo State on OS X(neverstopbuilding.net) |
"In the git-completion.bash file" should be "In the .git-completion.bash file"
"In the git-prompt.sh file" should be "In the .git-prompt.sh file"
Updating the permissions is not necessary.
Step 4 should also include adding
source ~/.git-completion.bash
source ~/.git-prompt.sh
Step 5 you can add "Run . ~/.bash_profile" or "close and re-launch your terminal"Thanks for the tips!
Changing it to cache the result, like this:
export PS1=$LIGHT_GRAY"\u@\h"'$(
g=$(__git_ps1 " (%s)")
if [[ "$g" =~ \*\)$ ]]
then echo "'$YELLOW'$g"
elif [[ "$g" =~ \+\)$ ]]
then echo "'$MAGENTA'$g"
else echo "'$CYAN'$g"
fi)'$BLUE" \w"$GREEN": "
drops it back down to the .085s range.1. Put your dotfiles in GitHub
2. Consider using zsh -- the completion is great, and it's easy to build a great prompt. I know prompts are personal taste, but I'm enjoying mine: https://github.com/hoov/dotfiles/blob/master/zsh/prompts/pro...
Speaking of git completion and branch info on the prompt, there are plugins in zsh for this and they're very easy to customize thanks to well-established conventions in oh-my-zsh.
It took me couple of hours to migrate from bash but it was time well spent.
export GIT_PS1_SHOWUPSTREAM="auto"
export GIT_PS1_SHOWSTASHSTATE=1
export GIT_PS1_SHOWUNTRACKEDFILES=1Here's a sample of my fish_prompt.fish
function fish_prompt
set last_status $status
set_color $fish_color_cwd
printf '%s' (prompt_pwd)
set_color normal
printf '%s ' (__fish_git_prompt)
set_color normal
end