title: Git: How can I split a branch by file (not by commit)?
body: <p><strong>Bottom Line:</strong></p>
  
  <p>I want to split up a pull request into two smaller pull requests with different subsets of files.  I do not want to split by commit, I want to split by file.</p>
  
  <p><strong>Details:</strong></p>
  
  <p>Suppose I have a branch <code>branch_1</code>  (off of the <code>master</code> branch) in which I've modified 2 files: <code>file_1</code> and <code>file_2</code>.  Suppose these files were modified together in one or more commits (changes are not separable by commit), and suppose these files do not reference one another in any way.</p>
  
  <p>After some time, I want to merge <code>branch_1</code> into <code>master</code>, but decide that only <code>file_1</code> is ready to be merged.  I may merge <code>file_2</code> later, so I put it on a new branch.</p>
  
  <p>So I create a <code>branch_2</code> off of <code>branch_1</code>.  <code>branch_2</code> now contains both the changes to <code>file_1</code> and <code>file_2</code>.  That's fine, because <code>branch_2</code> will be merged after <code>branch_1</code> anyway.</p>
  
  <p>Now, how can I nicely revert <code>branch_1</code> to remove the changes to <code>file_2</code>? </p>
  
  <p>If I just go on <code>branch_1</code> and <code>git checkout master file_2</code>, it works, BUT: When I merge <code>branch_1</code> into <code>master</code>, and then <code>master</code> into <code>branch_2</code>, then it will delete <code>file_2</code>.  This is not what I want at all!</p>
  
  <p>Basically I'd like make it as if <code>file_2</code> never existed at all on <code>branch_1</code>.</p>