+1  A: 

I would modify slightly workflow that you have in order to avoid push --mirror.

  1. git clone /path/to/origin # clones the master
  2. git checkout --track origin/topic
  3. git checkout master
  4. git add some_new_file; git commit -m "added some new file"
  5. git push origin/master
  6. git checkout topic #Local branch
  7. git rebase master
  8. git push origin master #it will update master on origin
  9. git push --force origin/topic : it will update topic on origin

You need --force because origin/topic will change the ancestor and you have disable fast forward check.

db_
A: 
charlieb