Instead of rebasing, etc....?

4 messages, 3 authors, 2016-06-15 · open the first message on its own page

Instead of rebasing, etc....?

From: Dave Abrahams <hidden>
Date: 2016-06-15 22:48:45

I often find myself pursuing a development branch that I'm pushing out
to a public repo, and then wanting to go back a few commits and start
the end of the branch anew.

o-o-o-o origin/dev
      \
       o-o-o dev

Of course then I want to push dev and move origin/dev to refer to it.
So I delete and recreate origin/dev.  That's essentially like
rebasing, and all the advice says "don't do it."  How bad is that,
really, if it's my own development branch?

If I try to avoid doing that I guess I have to "merge" with the remote
branch but discard all its changes?

o-o-o-o - - - -o origin/dev dev
       \      / 
        o-o-o 


Is there a shortcut for that?  It would be nice if Git had a way to
note that sort of "false parentage" (the dotted line above)
explicitly; it's not really there logically; it just helps the
workflows to move along smoothly.

Re: Instead of rebasing, etc....?

From: Dave Abrahams <hidden>
Date: 2016-06-15 22:48:45

Dave Abrahams <dave <at> boostpro.com> writes:
I often find myself pursuing a development branch ...
Sorry, my ASCII art was messed up in the previous message.  
Here's what I meant:

o-o-o-o origin/dev
   \
    o-o-o dev


o-o-o-o - -o origin/dev dev
   \      / 
    o-o-o 

Re: Instead of rebasing, etc....?

From: Raja R Harinath <hidden>
Date: 2016-06-15 22:48:47

Hi,

Dave Abrahams [off-list ref] writes:
Dave Abrahams <dave <at> boostpro.com> writes:
quoted
I often find myself pursuing a development branch ...
Sorry, my ASCII art was messed up in the previous message.  
Here's what I meant:

o-o-o-o origin/dev
   \
    o-o-o dev


o-o-o-o - -o origin/dev dev
   \      / 
    o-o-o 
You can use the 'ours' merge strategy.

On the 'dev' branch, you do

   git merge -s ours origin/dev

Now 'origin/dev' is a parent of the new 'dev', while the tree contents
haven't changed.  You can now push 'dev' back to origin without any
hassles.

- Hari

Re: Instead of rebasing, etc....?

From: Ramkumar Ramachandra <hidden>
Date: 2016-06-15 22:48:47

Hi,
Of course then I want to push dev and move origin/dev to refer to it.
So I delete and recreate origin/dev.  That's essentially like
rebasing, and all the advice says "don't do it."  How bad is that,
really, if it's my own development branch?
If I understand correctly, you want a non-FF push. Simply develop on
dev and `git push origin +dev:dev` to force a non-FF push. It's not
bad at all if your branch isn't public and others aren't pulling from
it.

-- Ram
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help