-
Notifications
You must be signed in to change notification settings - Fork 0
Hints and Tips
##Candidate branches## If you get bored typing in the namefor the candidate branch (e.g., candidate-3.2.x) then you can create a symbiolic alias which can be used instead. E.g.,
git symbolic-ref refs/heads/next refs/heads/candidate-3.2.x
To find out the common commit point between two branches use.
git merge-base branch1 branch2
E.g., to check out a new branch based on a common commit point, using the symbolic alias and merge-base executed inline you can do
git branch newbranch `git merge-base master next`
##Revision syntax## Quite a useful link for understanding what the different formats for the references to commit versions (e.g., HEAD^2~5^^), see Specifying revisions
##Comparison## If you use beyond compare then take a look at https://github.com/thenigan/git-diffall - a very useful varient of difftool which displays all the differences at once in a directory comparison.
To find out what changes from upstream\master are available to merge into your master
git fetch upstream
git log master..remotes/upstream/master
##Command Aliases## Display the last commit.
log1=log -n 1
Display a list of all changes since the master
logm=log master..
Display a tree of the commits.
tree=log --graph --oneline
And if you really want a graphviz dependency view of your commits....
graphviz = "!f1() { git log --pretty='format: %h -> { %p }' \"$@\" | sed 's/[0-9a-f][0-9a-f]*/\"&\"/g' ; }; f2() { git log --pretty='format: \"%h\" [ label=\"%s\" ];' \"$@\"; }; echo 'digraph git {' ; f1; f2; echo '}'; "