Re: Commiting changes onto more than one branch
From: Nicolas Pitre <nico@fluxnic.net>
Date: 2016-06-15 22:47:46
On Wed, 25 Nov 2009, Mike Jarmy wrote:
My question is this: How do I manage a checkin for a bugfix that affects, say, only branches v3, v4, and v5? Suppose that I checkout the v3 branch, and fix the bug by editing several different files. (Lets assume for now that the files in question have not diverged between any of the 3 branches, even though tons of other files have changed). How do I commit the bugfix into all of v3, v4 and v5? Clearly, merging the branches together would be bad. So I think what I should do is perform 3 different commits, but I'm not quite sure how to juggle the git index (or stash or whatever) to accomplish this. This may be a really obvious question, but I'm a confused git newbie.
Besides what other people have already suggested, you might simply elect to use 'git cherry-pick' on the v4 and v5 branches to copy the fix from the v3 branch.
Also, even though I may need to do 3 commits, it would be nice if the commits were related together in some way, since in a sense they represent only one action (namely, fixing the bug). Is there a way to do that, so that its clear in gitk that it was really one unified thing?
You can use the -x argument with 'git cherry-pick'. This won't create a formal history graph but at least the commit log will record a reference to the original fix. Nicolas