title: How can I start a clean branch with no ancestry, then commit files progressively?
body: <p>I have a PHP framework versioned with GIT and I'm planning several (drastic) changes to its core. </p>
  
  <p>What I want to do is to start working on the new core in a new branch, but since this change might require some restructuring on the filesystem too, I'd like to start this new branch as cleanly as possible.</p>
  
  <p>I want the clean branch to include only with the core files. As I'm finishing my changes, I want to add the rest of the modules from the framework to the working directory one by one, but keep the ability to merge if I do changes on master.</p>
  
  <p>How can I do that?</p>