On Fri, 8 Jul 2005, Marc Singer wrote:
>
>  # git diff HEAD^ HEAD
> 
> This command will produce a diff of the changes I've made.  What is
> the HEAD^?  Does it refer to the commit before the last one made?

Yes. The core tools don't understand this syntax, but most of the helper 
scripts use "git-rev-parse" to parse arguments, and then you have the 
"extended syntax" which allows short SHA1 names and "parenting".

HEAD^ is the "first parent of HEAD". You could also have written it
"HEAD^1", although the number is really only relevant if you have a merge,
and you want to specify the _other_ side, ie "HEAD^2" is the "second
parent of HEAD".

If you want to have the parent of the parent, write HEAD^^.

Now, to confuse things, a "^" at the _beginning_ of the name means 
something else: it means "not", and it used to do ranges.

> If I've made several commits, I'd like to be able to gather several
> together and produce a patch file.  Better still, I'd like to be able
> to pick a set of discontiguous commits an bundle them into a single
> patch.  Ought I be using tags?

You can use tags, but you can just do

        git log

and pick out the commit ID's from there and use those too.

"git-whatchanged -p" is also useful to see what's been going on. And 
"gitk", of course.

> Finally, given that the upstream repository is git, what is the way to
> push commits upstream?

You can do

        git push destination

(which I just added today), which is just the same thing as
"git-send-pack".

BUT NOTE! It only works for destinations that _you_ control, though. You
can't push to others - you can only push to your own repositories, and
then wait for others to pull from them. Ie, the normal reason to use
"git-send-pack" or "git push" is because you do the work on a private
machine, and then you want to push it out to a public one (still yours),
and send an email to people saying "please pull from so-and-so".

                Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to