title: Managing projects and pull requests from git boilerplate with GitHub
body: <p>I'm doing something similar to <a href="https://stackoverflow.com/questions/14888025/creating-new-projects-from-an-existing-boilerplate-repo">this question</a> where I have a <em>Boilerplate</em> Github repository which I will use to start new projects with. The difference is that I will sometimes want to add features from one of the cloned projects back into the boilerplate and push changes from the boilerplate into the projects.</p>
  
  <p>As they are all my own repositories, <a href="https://stackoverflow.com/a/24348059/1682405">I'm using this technique</a> to clone the repo's instead of forking and add an upstream to the boilerplate remote so I can pull changes from there.</p>
  
  <pre><code>$ git clone git@github.com:YOURNAME/foo.git bar
  $ cd bar
  $ vim .git/config
  [remote "origin"]
      fetch = +refs/heads/*:refs/remotes/origin/*
      url = git@github.com:YOURNAME/bar.git #replace foo with bar
  $ git remote add upstream git@github.com:YOURNAME/foo.git
  $ git push -u origin master
  </code></pre>
  
  <p>Because the projects will take a life of their own, I will only want to pull parts of the boilerplate down to the projects as I add new features in the boilerplate. Is this where I should use a <code>git cherry-pick</code> as <a href="https://stackoverflow.com/a/881014/1682405">described here</a>?</p>
  
  <p>Going back the other way. I'm guessing I should create a feature branch in the project. Once I'm happy with it, and before I merge it back in, I should <code>git cherry-pick</code> from the project branch back into the boilerplate? Or should I do a pull request from the project to the boilerplate?</p>