OK, its easy, get the sha1 commit from githubs public site and do this :
git log 1d21ce090621ac4236c5..HEAD
this gets all commits between that sha1 (you only need the first unique part of it, 8 chars is usually enough apparently) and the current last commit of your local current branch.
There is probably a way to get the latest head from the server with a url too rather than explicitly, but not sure what it is yet.
------------------------------------------------------------------
I think what I need to do is :
Code: Select all
git stash
Code: Select all
git branch public
Code: Select all
git checkout public
Code: Select all
git reset --hard HEAD
EDIT: this one ^ was wrong. What I needed to do was reset to the server head, so provide a reference to the github servers copy/head.
Code: Select all
git diff master public
when I'm done looking...
Code: Select all
git checkout master
and finally...
Code: Select all
git stash apply
----------------------------------------------------------------------
unfortunately stash isn't available on 1.4.4, only 1.5.0+
Solution : backports.org
http://packages.debian.org/etch-backports/git-core
----------------------------------------------------------------------
OK, so there you have it, how to complicate a simple task!
Thanks to Aaron who I just rang 10 mins before midnight on new years eve who was most helpful in explaining that a branch isn't a specific entity on it's own, rather just a shallow copy/ reference that you can independently manipulate.
Fred.