title: Restrict users access on specific git branch repo and history repo, while keeping merge facilities
body: <ul>
  <li><p>Here is my context:</p>
  
  <ol>
  <li>I have a software with 20 vesion, each version represents( is the same) a branch in my git repo.</li>
  <li>I Have two teams, one local and one remote.</li>
  </ol></li>
  <li><p>Here is my restrictions:</p>
  
  <ol>
  <li>Local team have full access to the repo.</li>
  <li>Remote team have access restrictively to 15th version(15th branch)</li>
  <li>Remoe team cant have access to history before 15th branch</li>
  <li>Remote team can´t have access to Local tema work</li>
  <li>remote team have acesso only to theier work</li>
  </ol></li>
  <li><p>Here is a premise:</p>
  
  <ol>
  <li>Would be awesome if the local team could be able to merge from remote team code, with minimum conflicts pain.</li>
  </ol></li>
  <li><p>What i have tryed?</p>
  
  <ol>
  <li><p>1th
  I created a fork from the repo, and i garanted the master have only till 15th version. Some masrter and 15th branch are the some code version.
  The problem in this solution: the remote team still have access to all repo and history and code.</p></li>
  <li><p>2th
  Create a new repo begining from 15th branch.
  The problem in this case, would be about when local team do the merge from remote to local codes team.</p></li>
  </ol></li>
  </ul>
  
  <p>Till now, i would stay with the 2th option, even if i have merge issues.</p>
  
  <p>So, anyone have a better solution or  more elegant?</p>
  
  <p>Really hope made my self explained.</p>
  
  <p>=====================================</p>
  
  <p>I executed this commands:</p>
  
  <blockquote>
    <p>git clone --mirror --depth 1 --branch release/v15  <a href="https://carlotto_totem@bitbucket.org/old_repo.git" rel="nofollow">https://carlotto_totem@bitbucket.org/old_repo.git</a></p>
    
    <p>cd old_repo</p>
    
    <p>git push --mirror <a href="https://carlotto_totem@bitbucket.org/new_repo.git" rel="nofollow">https://carlotto_totem@bitbucket.org/new_repo.git</a> </p>
  </blockquote>
  
  <p>Than i got this message:</p>
  
  <pre><code>C:\old_repo&gt;git push --mirror https://carlotto_totem@bitbucket.org/new_repo.git
  Password for 'https://carlotto_totem@bitbucket.org':
  Counting objects: 131, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (95/95), done.
  Writing objects: 100% (131/131), 9.72 MiB | 238.00 KiB/s, done.
  Total 131 (delta 28), reused 131 (delta 28)
  To https://carlotto_totem@bitbucket.org/new_repo.git
   ! [remote rejected] release/v15 -&gt; release/v15 (shallow update not allowed)
  error: failed to push some refs to 'https://carlotto_totem@bitbucket.org/new_repo.git'
  </code></pre>
  
  <p>What should i do about?</p>
  
  <blockquote>
    <p>shallow update not allowed</p>
  </blockquote>