threads / bug / 34690

Possible git bug

Subject: Possible git bug

## tl;dr

3 messages between Aug 14, 2013 and Aug 14, 2013.

replies: 2people: 3as markdown or json

Hugh Davenport· Aug 14, 2013, 04:50 UTC · lore
Hey,

Not sure if this is a bug or not. I commonly am finding myself wanting to remove some recent commits, either all or just a select few. So I use rebase in interactive mode for this. The problem I find is that when I do a rebase and leave no commits to pick (where I would think that this would do the same as a reset --hard) just tells me that there is nothing to be done.

So would that be a bug? Or maybe a feature? I would like it that when you do a rebase and select no commits, it will rebase ontop of the commit you chose, and remove all the commits not shown in the interactive listing (so all).

Any ideas are welcome.
Cheers,
Hugh
Daniel Knittl-Frank· Aug 14, 2013, 05:42 UTC · re: Hugh Davenport · lore

Re: Possible git bug

On Wed, Aug 14, 2013 at 6:50 AM, Hugh Davenport <hugh@davenport.net.nz> wrote:
Show 8 quoted lines
> Hey,
>
> Not sure if this is a bug or not. I commonly am finding myself wanting to
> remove some recent commits, either all or just a select few. So I use rebase
> in interactive mode for this. The problem I find is that when I do a rebase
> and leave no commits to pick (where I would think that this would do the
> same
> as a reset --hard) just tells me that there is nothing to be done.

This is left as a way to abort a rebase if you change your mind just before actually executing it. This also works parallel to committing with an empty commit message.

> So would that be a bug? Or maybe a feature? I would like it that when you do
> a rebase and select no commits, it will rebase ontop of the commit you
> chose,
> and remove all the commits not shown in the interactive listing (so all).

You can just use `git reset --hard <commit to rollback to>` to discard all commits after the given commit (Unless they're part of another branch, of course). `git reset --soft` if you want to keep the state of your current working directory.

Cheers, Daniel

-- 
typed with http://neo-layout.org
Jeff King· Aug 14, 2013, 06:53 UTC · re: Daniel Knittl-Frank · lore

Re: Possible git bug

On Wed, Aug 14, 2013 at 07:42:11AM +0200, Daniel Knittl-Frank wrote:
Show 9 quoted lines
> > So would that be a bug? Or maybe a feature? I would like it that
> > when you do a rebase and select no commits, it will rebase ontop of
> > the commit you chose, and remove all the commits not shown in the
> > interactive listing (so all).
> 
> You can just use `git reset --hard <commit to rollback to>`  to
> discard all commits after the given commit (Unless they're part of
> another branch, of course). `git reset --soft` if you want to keep the
> state of your current working directory.

You can also use a "noop" line in the rebase instruction list rather than a completely blank list to mean "yes, really, do not apply any commits".

-Peff

← back to recent threads