For the benefit of Chad and Charles, and anyone else:

* Git PS1 decoration:

Git comes with some nice command line decoration, which you can activate
by putting this definition in .bashrc and running "git-prompt" in new
shells:

git-prompt() {
  git_prompt_dir=/usr/share/git-core/contrib/completion
  git_integration=$git_prompt_dir/git-prompt.sh
  test -e $git_integration || 
git_integration=$git_prompt_dir/git-completion.bash
  if test -e $git_integration; then
    source $git_integration
    export PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
    export GIT_PS1_SHOWDIRTYSTATE=1
    export GIT_PS1_SHOWUNTRACKEDFILES=1
  fi
}

(the location and name of the file was changed, hence the test)

This decorations your prompt (PS1) so that it contains the branch name
and state in parentheses. State characters are:

* unstaged changes
+ staged changes
$ stashed changes
% untracked files

You can also set GIT_PS1_SHOWUPSTREAM=auto if you'd like these:

< you are behind upstream
> you are ahead of upstream
<> diverged
= at upstream head

* Git command line completion

Fedora's git package comes with a file in /etc/bash_completion.d/ so
that command line completion is automatic -- I'm not sure if this is
straight from the tarball or not.

Branch names and tags will auto-complete; so will options and of course
filenames when appropriate.

* Terminal-mode history viewer

Use 'tig' to see a nice navigable view of the project history.

Use 'tig blame file' to see a navigable version of 'git blame file'. As
well as showing the entire file with each line annotated to describe the
last commit that changed it, pressing Enter on any line will show you
that commit message and the changes it introduced. Obviously, '/' will
search forward etc.

* Finally, the killer feature: bisect

Run 'git help bisect' to find out more about git's killer feature.
Operating entirely off-line, you tell git:

* the last-known-good version of the project,
* the version that is known to be broken, and
* a test script to check for the breakage

and it will perform a binary search to narrow down the exact commit that
broke it.

Tim.
*/

Attachment: signature.asc
Description: This is a digitally signed message part

-- 
Next meeting:  Bournemouth, Tuesday, 2014-04-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
New thread on mailing list:  mailto:dorset@mailman.lug.org.uk
How to Report Bugs Effectively:  http://goo.gl/4Xue

Reply via email to