title: How to push without the default --mirror option in a mirror repo
body: <p>For some reason, I must create a mirror repo to the central repo. </p>
  
  <p>central repo &lt;-----> mirror repo &lt;-----> dev repo</p>
  
  <p><strong>The risk</strong> is that pushing in a mirror repo may overwrite the histroy of the central repo.</p>
  
  <p>If someone (Mr J) pushs a new commit(commit_X) into the central repo and at the same time the mirror is going to push without a fetch, then this push will overwrite the histroy of the central repo. As a result, the commit_X will be deleted.</p>
  
  <p>Mr J will need to pull, merge and push his commit_X again.</p>
  
  <p>The rootcause is if a repo is created with <code>clone --mirror</code>, the <code>push</code> will implicitly use <code>--mirror</code> by default even it is not added after <code>push</code>.</p>
  
  <p>I know it is possible to install a hook script to disable <code>push --mirror</code> in centrol repo side.</p>
  
  <p>But is there a way to disable it in the mirror repo side?</p>
  
  <p><strong>[EDIT1]</strong> Added an illustration to help you with understanding this question.</p>
  
  <p><img src="https://i.stack.imgur.com/XYEUX.png" alt="enter image description here"></p>