 <p>This is a perfect case for which <code>git submodule</code> was designed: <a href="http://git-scm.com/docs/git-submodule" rel="nofollow">http://git-scm.com/docs/git-submodule</a></p> <p>Within the Project1 and Project2, you add submodule of the Common. And then you <code>git submodule checkout</code></p> <p>In the cloned repo it only stores the hash of the Common git. So you <code>git submodule init</code> and checkout.</p>