Rebasing Etiquette
I bet that the moment most people decide they actually do like git is when they start using ‘rebase’ regularly. I definitely do not completely understand the git model, but rebase shows that there is some seriously cool stuff going on. Anyway, I’ve come upon a rebasing dilemma. The reasons for not rebasing a public repo are clear, but pushing to a remote origin (e.g. github) is also a form of backup. My master branches are for collaboration, but my dev branches are essentially just to back up my home computer, and occasionally for feedback. I rebase dev branches regularly, to keep my commits together for eventual merging to master. I occasionally switch around or squash commits too, where it adds clarity to the history. So, somewhat shamefully, I find myself using ‘git push -f’ a lot on branches other than master. ...