{"thread":{"id":"38478","subject":"How to rebase one branch of the merge commit?","startedAt":"2015-02-01T18:42:14Z","lastAt":"2015-02-09T11:38:31Z","messageCount":3,"participants":["Hans Ginzel","Dennis Kaarsemaker"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"255489","messageId":"20150201184214.GA89666@artax.karlin.mff.cuni.cz","threadId":"38478","inReplyTo":null,"subject":"How to rebase one branch of the merge commit?","fromName":"Hans Ginzel","fromEmail":"hans@matfyz.cz","sentAt":"2015-02-01T18:42:14Z","receivedAt":"2015-02-01T18:42:14Z","isPatch":false,"sender":{"key":"hans@matfyz.cz","avatar":"https://gravatar.com/avatar/6b8af172eb5ec2b675d3966812ceaf2aa6d487191e47c811f2661fb660e6af4b?d=mp&s=160"},"body":"Hello!\n\nSuppose following git history:\n\nA–M–C\n  /\nB\n\nHow to achieve this with commits metadata preserving?\n\nA–M'–C'\n  /\nB'\n\nI did\n\ngit checkout B\ngit add something_not_in_other_commits\ngit commit --amend\n\nSo I have B'. How to continue, please? My git version is 1.7.1 (Centos 6.5).\n\nRegards\nHans\n"},{"id":"255490","messageId":"1422818908.29011.6.camel@kaarsemaker.net","threadId":"38478","inReplyTo":"20150201184214.GA89666@artax.karlin.mff.cuni.cz","subject":"Re: How to rebase one branch of the merge commit?","fromName":"Dennis Kaarsemaker","fromEmail":"dennis@kaarsemaker.net","sentAt":"2015-02-01T19:28:28Z","receivedAt":"2015-02-01T19:28:28Z","isPatch":false,"sender":{"key":"dennis@kaarsemaker.net","avatar":"https://avatars.githubusercontent.com/u/200649?v=4"},"body":"On zo, 2015-02-01 at 19:42 +0100, Hans Ginzel wrote:\n> Hello!\n> \n> Suppose following git history:\n> \n> A–M–C\n>   /\n> B\n> \n> How to achieve this with commits metadata preserving?\n> \n> A–M'–C'\n>   /\n> B'\n> \n> I did\n> \n> git checkout B\n> git add something_not_in_other_commits\n> git commit --amend\n> \n> So I have B'. How to continue, please? My git version is 1.7.1 (Centos 6.5).\n\nAssuming you have a branch pointing to C and no uncommitted changes:\n\n1) git checkout branch-that-points-to-c\n2) git rev-parse branch-that-point-to-c\n3) git reset --hard A\n4) git merge B'\n5) git cherry-pick sha1-that-was-the-output-of-step-2\n\n-- \nDennis Kaarsemaker\nwww.kaarsemaker.net\n"},{"id":"255816","messageId":"20150209113831.GA58641@artax.karlin.mff.cuni.cz","threadId":"38478","inReplyTo":"1422818908.29011.6.camel@kaarsemaker.net","subject":"Re: How to rebase one branch of the merge commit?","fromName":"Hans Ginzel","fromEmail":"hans@matfyz.cz","sentAt":"2015-02-09T11:38:31Z","receivedAt":"2015-02-09T11:38:31Z","isPatch":false,"sender":{"key":"hans@matfyz.cz","avatar":"https://gravatar.com/avatar/6b8af172eb5ec2b675d3966812ceaf2aa6d487191e47c811f2661fb660e6af4b?d=mp&s=160"},"body":"On Sun, Feb 01, 2015 at 08:28:28PM +0100, Dennis Kaarsemaker wrote:\n>On zo, 2015-02-01 at 19:42 +0100, Hans Ginzel wrote:\n>> Hello!\n>>\n>> Suppose following git history:\n>>\n>> A–M–C\n>>   /\n>> B\n>>\n>> How to achieve this with commits metadata preserving?\n>>\n>> A–M'–C'\n>>   /\n>> B'\n>>\n>> I did\n>>\n>> git checkout B\n>> git add something_not_in_other_commits\n>> git commit --amend\n>>\n>> So I have B'. How to continue, please? My git version is 1.7.1 (Centos 6.5).\n>\n>Assuming you have a branch pointing to C and no uncommitted changes:\n\n>1) git checkout branch-that-points-to-c\n>2) git rev-parse branch-that-point-to-c\n>3) git reset --hard A\n>4) git merge B'\n\nThis creates a new merge comit (M').\n\n>5) git cherry-pick sha1-that-was-the-output-of-step-2\n\nThis does nothing: \"Finished one cherry-pick. nothing to commit (working directory clean)\"\n\nThank you, but how to preserve date, message author of the original merge commit (M)\nto the new one (M'), please?\n\nRegards,\nHG\n"}]}