Subject: Re: Splitting a commit with rebase -i and keeping a commit message

From: Johannes Sixt <[email-masked]>
Date: Wed, 17 Apr 2013 07:55:41 +0200

Am 4/17/2013 3:38, schrieb Tim Chase:
> I asked this on IRC and played with some of their ideas, but struck
> out with anything satisfying.  I walked through [1] with the
> following setup:
> 
>   git init foo
>   cd foo
>   touch a.txt b.txt
>   git add a.txt b.txt
>   git commit -m "Initial checkin"
>   echo "Modify A" >> a.txt
>   git commit -am "Modified A"
>   echo "Modify B" >> b.txt
>   git commit -am "Modified B"
>   echo "Modify A2" >> a.txt
>   echo "Modify B2" >> b.txt
>   git commit -am "Modified B"
>   git commit -am "Long-bodied commit comment about b.txt changes"
>   # whoops, just wanted B
>   git rebase -i HEAD^^
>   # change the "Added b.txt..." commit to "edit"

    # and duplicate the instruction line
    git checkout HEAD^ b.txt # undo b.txt
    git commit --amend -m "Tweaked a.txt"
    git rebase --continue
    # in real world cases, you are likely to see conflicts here
    # when the commit is applied a second time,
    # but not in this toy example
    git rebase --continue

-- Hannes