title: 1 way sync of git repo to remote without overwriting changes
body: <p>I'm researching the best way to handle this situation</p>
  <h3>Location A</h3>
  <ul>
  <li>Primary Master GIT Repo</li>
  <li>GIT-Flow development process (work on <strong>Feature</strong> branches, <strong>Develop</strong> has latest pre-release code, <strong>Master</strong> holds release code)</li>
  <li>99% of all coding is done on this repo</li>
  </ul>
  <h3>Location B</h3>
  <ul>
  <li>Nightly a copy of <strong>Location A</strong>'s <strong>Develop</strong> and <strong>Master</strong> branches (mirror/pushed) to this repo</li>
  <li>1% of code is written here and it is specific to this repo</li>
  </ul>
  <h3>The workflow is similar to this:</h3>
  <p><strong>Location A</strong> - We write a new software package, at night it is pushed out to <strong>B</strong></p>
  <p><strong>Location B</strong> - The coders add some specific features that will never return to <strong>A</strong></p>
  <p><strong>Location A</strong> - A new release of the software is made and pushed out to <strong>B</strong></p>
  <p><strong>Location B</strong> - &lt;&lt; What happens??  Is there a way to automatically update the underlying software without any user interaction required?  &gt;&gt;</p>
  <p>The assumption is eventually we will have multiple locations (<strong>B</strong>,<strong>C</strong>,<strong>D</strong>, etc.) that might have custom code they need to store (but never push back)</p>
  <p>I know there is something called a vendor branch in SVN but I'm not sure about the best git way to handle this.  My concern is if the process is too complex it will fail.</p>
  <p>I assume using either a remote or some sort of git mirror command would be the way to go but I'm looking for some advice.</p>