Why can't I push this up-to-date Git subtree?
I found the answer on this blog comment https://coderwall.com/p/ssxp5q
If you come across the "Updates were rejected because the tip of your current branch is behind. Merge the remote changes (e.g. 'git pull')" problem when you're pushing (due to whatever reason, esp screwing about with git history) then you'll need to nest git commands so that you can force a push to heroku. e.g, given the above example:
git push heroku `git subtree split --prefix pythonapp master`:master --force
On windows the nested command doesn't work:
git push heroku `git subtree split --prefix pythonapp master`:master --force
You can just run the nested bit first:
git subtree split --prefix pythonapp master
This will (after a lot of numbers) return a token, e.g.
157a66d050d7a6188f243243264c765f18bc85fb956
Use this in the containing command, e.g:
git push heroku 157a66d050d7a6188f243243264c765f18bc85fb956:master --force