threads / discuss / 21137

Re: previous references

Subject: Re: previous references

## tl;dr

4 messages between Oct 4, 2009 and Oct 5, 2009.

replies: 3people: 4as markdown or json

Octavian Râşniţă· Oct 4, 2009, 08:31 UTC · lore

previous references

Hi,
Are the following commands specifying the same reference?

prompt> git log -1 HEAD^^^ ... log entry ... prompt> git log -1 HEAD^~2 ... log entry ... prompt> git log -1 HEAD~1^^ ... log entry ... prompt> git log -1 HEAD~3 ... log entry ...

Thank you.
Octavian
Johan Herland· Oct 4, 2009, 09:27 UTC · re: Octavian Râşniţă · lore
On Sunday 04 October 2009, Octavian Râşniţă wrote:
Show 6 quoted lines
> Are the following commands specifying the same reference?
> 
> prompt> git log -1 HEAD^^^ ... log entry ...
> prompt> git log -1 HEAD^~2 ... log entry ...
> prompt> git log -1 HEAD~1^^ ... log entry ...
> prompt> git log -1 HEAD~3 ... log entry ...
Yes
...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net
Daniele Segato· Oct 5, 2009, 21:11 UTC · re: Johan Herland · lore
Il giorno dom, 04/10/2009 alle 11.27 +0200, Johan Herland ha scritto:
Show 9 quoted lines
> On Sunday 04 October 2009, Octavian Râşniţă wrote:
> > Are the following commands specifying the same reference?
> > 
> > prompt> git log -1 HEAD^^^ ... log entry ...
> > prompt> git log -1 HEAD^~2 ... log entry ...
> > prompt> git log -1 HEAD~1^^ ... log entry ...
> > prompt> git log -1 HEAD~3 ... log entry ...
> 
> Yes

the ~ is used to select the first parent of a commit and their grand-parents

HEAD~ means the parent of the current head HEAD~2 means the grand-parent HEAD~3 the grand-grand-parent..

the ^ is used to select a direct parent of a commit HEAD^ is the same as HEAD~ HEAD^^ is the same as HEAD~2 (parent of the parent) HEAD^2 is NOT the same of HEAD~2, it means the "second parent" of HEAD: this make sense only if HEAD has at least two parents (because it is a merge commit) if it hasn't you'll get:

fatal: ambiguous argument 'HEAD^2': unknown revision or path not in the working tree. Use '--' to separate paths from revisions

you can read the same here: http://progit.org/book/ch6-1.html

regards, Daniele

Sverre Rabbelier· Oct 5, 2009, 21:20 UTC · re: Daniele Segato · lore
Heya,
On Mon, Oct 5, 2009 at 23:11, Daniele Segato <daniele.bilug@gmail.com> wrote:
> fatal: ambiguous argument 'HEAD^2': unknown revision or path not in the
> working tree.
> Use '--' to separate paths from revisions

Really? That's awful, shouldn't we at least say something about HEAD not having that many parents?

-- 
Cheers,

Sverre Rabbelier

← back to recent threads