threads / discuss / 29567

Merging only a subdirectory from one branch to the other

Subject: Merging only a subdirectory from one branch to the other

## tl;dr

3 messages between Feb 7, 2012 and Feb 10, 2012.

replies: 2people: 3as markdown or json

Howard Miller· Feb 7, 2012, 09:38 UTC · lore
Hi,

I've been Googling for this one and am, mostly, more confused than when I started so if you could humor me for a moment.

I have a branch with a particular subdirectory tree. The tree has a lot of history. However, all the history for that subdirectory is exclusive to it (no commits changed anything outside it). I now need to merge that subdirectory into a completely different branch without loosing any history. I think git-read-tree might have something to do with it but I don't understand the help file at all. Any help appreciated.

Cheers....
Taylor Hedberg· Feb 7, 2012, 15:24 UTC · re: Howard Miller · lore

Re: Merging only a subdirectory from one branch to the other

Howard Miller, Tue 2012-02-07 @ 09:38:22+0000:
Show 7 quoted lines
> I have a branch with a particular subdirectory tree. The tree has a
> lot of history. However, all the history for that subdirectory is
> exclusive to it (no commits changed anything outside it). I now need
> to merge that subdirectory into a completely different branch without
> loosing any history. I think git-read-tree might have something to do
> with it but I don't understand the help file at all. Any help
> appreciated.

You might find git-subtree [1] useful for this. The `git subtree split` sub-command in particular enables you to factor out the history of a particular subdirectory in your repo into a separate branch, which you could then merge into some other branch as desired.

[1] https://github.com/apenwarr/git-subtree
Neal Kreitzinger· Feb 10, 2012, 00:51 UTC · re: Howard Miller · lore

Re: Merging only a subdirectory from one branch to the other

On 2/7/2012 3:38 AM, Howard Miller wrote:
Show 8 quoted lines
> I have a branch with a particular subdirectory tree. The tree has a
> lot of history. However, all the history for that subdirectory is
> exclusive to it (no commits changed anything outside it). I now need
> to merge that subdirectory into a completely different branch without
> loosing any history. I think git-read-tree might have something to do
> with it but I don't understand the help file at all. Any help
> appreciated.
>

Does the 'subtree merge' described in this link do what you want: http://progit.org/book/ch6-7.html (I can't say I've actually tried it myself, yet.)

v/r, neal

← back to recent threads