views:

134

answers:

2

I've looked at git-new-workdir, but I don't want the history to be shared because the branches have a release-main relationship. That is, changes in the release branch I want to propagate to the main line, but changes in the main line I don't want in the release line.

A common pattern for me is to fix a bug in the release line, integrate it to the main line, then start builds in both branches at the same time.

Is there a way to do this with git-new-workdir, do I need to clone, or is there a better solution?

Thanks

+3  A: 

git-new-workdir can support this, because each work directory can be setup to use a different branch, i.e. the 2 directories share the same object database, but don't have to share the same branch.

For example, assuming your main work directory is in ~/projects/foo, and the main branch is called "master" and the release branch is called "release"

git-new-workdir ~/projects/foo ~/projects/foo_release release
git-new-workdir ~/projects/foo ~/projects/foo_master master

then just do your builds from ~/projects/foo_master and ~/projects/foo_release after you've fast-forwarded each HEAD to the respective branch head

John Douthat
A: 

git-clone should do what you want.

Just make sure to never merge from release to main.

hasen j