Re: [AD] switching to git, 2012 edition

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On Sun, 1 Jul 2012 18:21:36 -0600, Thomas Fjellstrom <tfjellstrom@xxxxxxxxxx> wrote:
> On Sun Jul 1, 2012, Peter Wang wrote:
> > On Sun, 1 Jul 2012 14:32:37 +0200, Elias Pschernig 
> <elias.pschernig@xxxxxxxxxx> wrote:
> > 
> > You can make pull --rebase the default for a certain branch, or all new
> > branches that you create: http://mislav.uniqpath.com/2010/07/git-tips/
> > 
> > Peter
> 
> >From what I've heard rebase'ing is a /bad/ thing in most cases. Because then 
> you lose history and the like.

There's entirely too much fear mongering about this.
Rebasing is a very useful tool.  I use it *constantly* on local changes.

The only history lost here is that you made your local changes (C1, C2)
on top of version A, instead of on top of version B.  This is usually
irrelevant information unless you have a very long-lived local branch,
where A and B have diverged significantly in the mean time.

i.e. with git pull (merging):

    A ---> A1 ---> A2 ---> B                    (public)
      \                     \
       ---> C1 ---> C2 --->  M                  (local)

M is the useless merge commit.

With git pull --rebase:

    A ---> A1 ---> A2 ---> B                    (public)
                            \
                             ---> C1' ---> C2'  (local)

Then push back a nice linear history:

    A ---> A1 ---> A2 ---> B ---> C1' ---> C2'  (public)

Peter




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/