Re: Use case I don't know how to address
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Sep 5, 2009, 17:23 UTC
- Message-ID
- <200909051923.28831.j6t@kdbg.org>
- In-Reply-To
- <4AA20CEC.8060408@chandlerfamily.org.uk>
On Samstag, 5. September 2009, Alan Chandler wrote:
Show 20 quoted lines
> The problem comes when I want to now merge back further work that I did > on the master branch (the 5-6 transition) to the fan club site > > > 2' - 2a - 3' - 4' ----------------- 6' SITE > / / / / > 1 - 2 ------ 3 - 4 ------------6'''- 6a TEST > \ / > 5 ------ 6 MASTER > \ \ > 5''- 5a- 6'' DEMO > > > What will happen is the changes made in 4->5 will get applied to the > (now) Test branch as part of the 6->6'' merge, and I will be left having > to add a new commit, 6a, to undo them all again. Given this is likely > to be quite a substantial change I want to try and avoid it if possible. > > Is there any way I could use git to remember the 4->5 transition, > reverse it and apply it back to the Test branch before hand.
Basically, your mistake was to rename master to test and continue development on the demo branch. So what you should do instead is this:
2' - 2a - 3' - 4' ------ 6' SITE
/ / / /
1 - 2 ------ 3 - 4 ------- 6 MASTER
\ \
5 - 5a - 6'' DEMOIOW, you keep developing on master, and merge that into the two deployment branches.
In practice, it may be easier to develop commit 6 on DEMO (because you can debug it more easily, or for similar reasons), but then you should rebase it back to MASTER, reset DEMO back to 5a, and finally merge MASTER into DEMO.
-- Hannes