I have github branch which I push to github when the master branch reaches some acceptable state (have done this once). To this end I did :
MrD@MRSD /c/D
Well after a lot of googling it turns out that my strategy was wrong. git merge --squash
does not do what I want - namely mirroring my master branch to my github branch, without keeping the history of the commits in master (a plain merge would do but I did not want to have any of the master's history in github).
For one it does not delete deleted files - for a nice explanation see here
There are probably other pitfalls - including the eternal conflict resolution that can't be avoided
Anyway I think I found the correct way - the one detailed here
$ git checkout master@{0}
$ git reset --soft github
$ git commit
$ git branch temp
$ git checkout temp
$ git branch -M github
$ git push -u -v origin github:master
tried it and it does work as I wanted