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. */
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