title: Git strategies for a partially sharing a repo
body: <p>I have a git repository which has multiple sub packages on our private git. There is a requirement to share some of the packages to public Github while keeping other ones internal only. Is there a good practice to:</p>
  <ol>
  <li>Avoid dup our effort when we make changes on the public packages in the future? We do not want to do everything twice.</li>
  <li>If we do not mirror our whole repository, just to set up multiple remotes, is it possible to ignore those internal only packages only for the public Github repo?</li>
  <li>If we have to maintain 2 separated repos, is it possible to do quick cherry pick cross them?</li>
  </ol>