6 ms·
How to Set Up Git Completion and Repo State on OS X
- hoov 13y agoI have a couple other suggestions: 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/prompt_hoov_setup https://github.com/hoov/dotfiles/blob/master/zsh/prompts/pro...
- aaronpk 13y agoCouple typos: "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!
- sighlent 13y agoI'd also look at Mathias Bynens dotfiles repo. https://github.com/mathiasbynens/dotfiles https://github.com/mathiasbynens/dotfiles
- Osiris 13y agofish shell has some of this built in, such as the git prompt. Here'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
- peff 13y agoThat prompt can be really slow, as it runs `__git_ps1` multiple times (through several branches of the conditional, and then for the final output). On my git.git repository, running `time __git_ps1` takes about .085s. If I hit the "cyan" condition in the prompt, we run it three times, and doing `time eval "echo \"$PS1"\""` takes about 0.263s, which feels noticeably laggy. 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.
- heromat 13y agoJust use zsh with oh-my-zsh (https://github.com/robbyrussell/oh-my-zsh https://github.com/robbyrussell/oh-my-zsh). Done.
- priit 13y agoJust wanted to say that. I hesitated for months before switching to zsh but here's a short presentation that sold me: http://www.slideshare.net/jaguardesignstudio/why-zsh-is-cooler-than-your-shell-16194692 http://www.slideshare.net/jaguardesignstudio/why-zsh-is-cool... 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.
- r4um 13y agoAdditionally to GIT_PS1_SHOWDIRTYSTATE the following are useful export GIT_PS1_SHOWUPSTREAM="auto" export GIT_PS1_SHOWSTASHSTATE=1 export GIT_PS1_SHOWUNTRACKEDFILES=1