# Problems reverting (includes reverting a merge)

3 messages from 2008-06-05 to 2008-06-09. Participants: jenny w, Andreas Ericsson, Alex Bennee.
Thread: https://gitlist.dev/t/13814

## jenny w, 2008-06-05 17:45

Subject: Problems reverting (includes reverting a merge)
Message-ID: <b1d95faa0806051045t67ea0f46r55cdaeb794dc2f5c@mail.gmail.com>
URL: https://gitlist.dev/e/b1d95faa0806051045t67ea0f46r55cdaeb794dc2f5c%40mail.gmail.com

```
Someone made a few commits that I'm trying to revert. There are three
commits in a row, the middle of which is a merge. There are presently
no commits following the ones that we want to revert.

I tried git revert on the latest commit and that worked fine.

The second latest commit was a merge, so I had to use the -m switch.
I'm not exactly sure what the parent-number refers to, so I created a
separate branch to try things out. Since it expects I a number, I
started from 1. That was kind of a disaster, so I deleted my branch
and made another off of master, and then tried doing the same command
with -m 2. This worked fine.  However ...

I then tried to revert the next commit. This said there's a conflict.
Since there are no other commits after the ones I'm trying to revert,
this makes me think I'm doing something wrong ... shouldn't it just be
able to roll back?

What I'd really like to do is just zap the last 3 commits ... is there
another way to just make things the way they were before these patches
were applied?

Any help with any of the above would be greatly appreciated!

```

## Andreas Ericsson, 2008-06-09 08:05

Subject: Re: Problems reverting (includes reverting a merge)
Message-ID: <484CE438.6040703@op5.se>
URL: https://gitlist.dev/e/484CE438.6040703%40op5.se
In-Reply-To: <b1d95faa0806051045t67ea0f46r55cdaeb794dc2f5c@mail.gmail.com>

```
jenny w wrote:
> Someone made a few commits that I'm trying to revert. There are three
> commits in a row, the middle of which is a merge. There are presently
> no commits following the ones that we want to revert.
> 
> I tried git revert on the latest commit and that worked fine.
> 
> The second latest commit was a merge, so I had to use the -m switch.
> I'm not exactly sure what the parent-number refers to, so I created a
> separate branch to try things out. Since it expects I a number, I
> started from 1. That was kind of a disaster, so I deleted my branch
> and made another off of master, and then tried doing the same command
> with -m 2. This worked fine.  However ...
> 
> I then tried to revert the next commit. This said there's a conflict.
> Since there are no other commits after the ones I'm trying to revert,
> this makes me think I'm doing something wrong ... shouldn't it just be
> able to roll back?
> 
> What I'd really like to do is just zap the last 3 commits ... is there
> another way to just make things the way they were before these patches
> were applied?
> 

git diff HEAD~3 | git apply -R && git commit <relevant files>

Although that will revert all 3 of them in one go, but perhaps that's
ok? Oh, and it won't work unless the merge-parent you want to revert
is the "first" parent (a straight line to the left when viewed in gitk
or qgit).

If you haven't published the commits anywhere yet, you can do

	git reset --hard HEAD~3

Note that this will clobber your worktree though, so use with caution.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

```

## Alex Bennee, 2008-06-09 09:00

Subject: Re: Problems reverting (includes reverting a merge)
Message-ID: <1213002019.26678.2.camel@pitcairn.cambridgebroadband.com>
URL: https://gitlist.dev/e/1213002019.26678.2.camel%40pitcairn.cambridgebroadband.com
In-Reply-To: <b1d95faa0806051045t67ea0f46r55cdaeb794dc2f5c@mail.gmail.com>

```
On Thu, 2008-06-05 at 10:45 -0700, jenny w wrote:

> What I'd really like to do is just zap the last 3 commits ... is there
> another way to just make things the way they were before these patches
> were applied?

Wouldn't git-reset --hard HEAD^^^ do what you want. It will rewind your
tree to 3 commits bellow the current head, the --hard ensure your
working tree is cleared out as well.

> 
> Any help with any of the above would be greatly appreciated!
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Alex, homepage: http://www.bennee.com/~alex/
Envy is a pain of mind that successful men cause their neighbors. --
Onasander

```
