 <p>If your branch consists of many small commits adding up to one large change, you might be able to effect this by pushing the commits up in stages. Perhaps create a new branch starting at the point at which your code diverges from that on the company server, then pull ranges of commits from your branch in stages and push after each range is pulled.</p> <p>But pushing separate folders/files - I'm pretty certain that's not possible: it rather goes against git's requirement that a commit be an atomic entity.</p>