I've checked the remote branch Design0.5: the last remote commit on that branch is identical to the top local commit, here marked (no branch). So locally, Design0.5 is 5 commits behind where I'd like it to be; but also the remote branch remotes/origin/Design0.5 is shown as behind where it really is. That really puzzles me. All I really want to do here is track remote changes to the repository. How do I get to a state where I really am tracking Design0.5 as it is remotely? I could just give up and check out the branch somewhere else but there are untracked binary files in my local directory which I don't want to have to move; it might also help me understand git better if I can fix my local without resorting to that.
I've looked at the related query Why did git set us on (no branch)? and tried various suggestions there (such as the rebase) but without success.
My last 2 commands were
$ git pull --rebase origin Design0.5
$ git branch -av
* (no branch) 130bef1 Debugging Program.fs note point at which crash occurs
Design0.3 f7f6179 Updated tests and comments
Design0.5 578ff32 [behind 5] updated project to include new files
master 578ff32 [behind 5] updated project to include new files
remotes/origin/Design0.1 f7f6179 Updated tests and comments
remotes/origin/Design0.3 f7f6179 Updated tests and comments
remotes/origin/Design0.5 f98e08e Added definition of FOO
remotes/origin/master 578ff32 updated project to include new files
No doubt I do not properly understand how git branches work.