Hello BenoƮt, * Benoit Sigoure wrote on Mon, Nov 19, 2007 at 10:09:19PM CET: > On Nov 19, 2007, at 8:05 PM, Ralf Wildenhues wrote:
> > # create a new branch that is identical: > > git checkout -b my-ternary > > # now, go back to master and reset that to before the patch: > > git checkout master > > Can be simplified as: git branch my-ternary master Ah, ok. > > git reset HEAD^ > > Personally I always use git reset HEAD~1 which is equivalent and > works nicely with ZSH extended_glob :) But ^ is much less typing, at least on German keyboards. ;-) > > # ensure by inspection that there was no merge commit: > > git log > > gitk is better to graphically see the merges. Yes, but also much slower. And it's graphical. (Yes, that was meant as a counter argument ;-) > > # When done rebasing, you can pull the ternary change into master > > # and push that: > > git checkout master > > git merge my-ternary > > Be careful, if this is not a fast-forward merge, it will introduce an > unwanted merge commit in the history. How can that happen? I just rebased the branch against master. > I would rather push the my- > ternary branch which I know has just been rebased against master and > then do a pull in master. It's safer. If I have the branch checked out, and I do a push, then the current HEAD of the branch will become the remote master? I didn't know that, and can't infer that from git-push(1) either. > >HTH. Untested. > > :) But it works, no? ;-) Cheers, Ralf