On 10 March 2015 at 17:44, Jamon Camisso <[email protected]> wrote: > On 06/03/15 12:33 PM, Giles Orr wrote: >> >> About the same time you were sending this, a co-worker was telling me >> about the virtues of "git fetch" as opposed to "git pull" which I've >> used almost exclusively. It makes a lot more sense now, thanks. >> >> To everyone who answered: I think we can consider my problems (at >> least the git ones!) solved, and many thanks. > > > Missed this thread but thought I'd chime in with a plug for Oh My Zsh! I use > it with a solarized terminal theme, the git plugin, and a customized prompt > to show the git branch that I'm on: > > export PROMPT="%{$FG[154]%}[%*|%D]% %{$fg[blue]%} > %{%}%n%{%}@%{%}%m%{%}:%{$fg[red]%} %~% %{$fg[black]%}>>%k > %{$FG[032]%} %B%? %s%%%k %b" > > function git_prompt_info() { > ref=$(git symbolic-ref HEAD 2> /dev/null) || return > echo > "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX" > } > > The nice thing about it is when something extends across the entirety of the > prompt, the (branch-marker) goes away too. > > I don't pretend to know what 99% of that does because once I got it setup I > haven't ever dared fiddle with it :p > > It doesn't do stuff like show revs ahead/behind or anything, but I'm sure > some creative aliases would make that pretty straightforward.
As a follow-up to my part of this thread, a fair bit of research on my part suggests that yes, Oh My Zsh! is kind of the way to go. Although if you want to stay with Bash (and I admit I have a lot of sunk cost there), there's Bash-it ( https://github.com/Bash-it/bash-it ) which is an attempt to replicate OMZ! for Bash. There's also oh-my-git ( https://github.com/arialdomartini/oh-my-git ), a garish but thorough git prompt for zsh or Bash that could act as a base for a less brightly coloured prompt - although it requires modified fonts. As for tracking upstreams, it's looking like the best procedure for me, if I really want to be concerned about that all the time, is to run "git fetch origin <whatever>" by cron: once you have local unmerged copies, git's tools can readily tell you about the state of the upstream without an on-the-instant network connection. Not quite what I'd hoped for, but when I think about how git works, it's an acceptable compromise. -- Giles http://www.gilesorr.com/ [email protected] --- Talk Mailing List [email protected] http://gtalug.org/mailman/listinfo/talk
