Subject: Re: request for documentation about branch surgery

From: Andreas Ericsson <[email-masked]>
Date: Tue, 07 Jul 2009 12:06:40 +0200

Bruno Haible wrote:
> I said.
> 
> Still, can someone please extend the cited chapter of the user's manual,

Presumably you can. I'll jot down some notes for you though ;-)

> so that it answers these questions?
>   - How do I insert some commits between other commits in a branch?
>                                                        [TODO]

git rebase --interactive (don't do this on published branches).

>   - How do I reorder commits in a branch?              [TODO - mention "git rebase -i"]

git rebase --interactive

>   - How do I cut a branch?                             [TODO]

Define "cut". Possibly "git branch -d" or it's less forgiving
sibling "git branch -D", in case the branch to be removed isn't
fully merged.

>   - How do I replace a branch tip with the contents of another branch?
>                                                        [TODO]

Easily understandable:
git checkout branch
git reset --hard otherbranch

The low-level way:
git update-ref [-m <reason>] [--no-deref] <full-ref-name> <newvalue>

There are more options to git-update-ref. The man-page lists them all.

>   - How do I reconnect a branch to another branch point?
>                                                        [TODO]

I don't quite understand what you mean by "reconnect", but this might
do something along the lines of what you want:
git checkout branch-to-connect-to
git merge branch-to-be-connected

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.