Hi Kon, Thank you ! I tried that method, it failed on read-tree because B/dir3 already exists, Cannot bind. $ git read-tree --prefix=dir3 -u A:dir3 error: Entry 'dir3/file1' overlaps with 'dir3/file1'. Cannot bind. And my case is that not all A's sub direcotries are in B. For example, in A's dir3, there are file1, dir4 and dir5. But in B's dir3, only file1 and dir4 exist, there's no dir5. How to handle this case ? Thanks, Emily On Mon, Nov 7, 2011 at 11:37 PM, Konstantin Khomoutov <flatworm@xxxxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, 7 Nov 2011 22:54:18 +0800 > Emily <lingyan.ren@xxxxxxxxx> wrote: > > > I have two git projects A and B, content of B is subset of A. For > > example, Project A and B's tree are as below: > [...] > > When there's new changes in project A, how can I merge them to > > project B without changing B's directory structure? > > > > Your help will be highly appreciated. > Subtree merging maybe? > See http://progit.org/book/ch6-7.html -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html