Re: Git terminology

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

Re: Git terminology

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:22

Sébastien Pierre [off-list ref] writes:
In the process of learning git, and browsing the docs, I
realized that many particular terms are used, but I had
difficulties finding their definitions.
I had difficulties reading your message.  Please fold your lines.
Among those I found a bit arcane, there are (in no particular
order) "refspec", "rebase", "rewound", "pickaxe", "refnames",
"objectnames" ,"refnames", "fast-forward update".
I see some are missing from our glossary but some others are
found there.

refspec is used by fetch and push to describe the mapping
between remote ref and local ref.  E.g.  "git fetch $URL
refs/heads/master:refs/heads/origin" means "grab the master
branch head from there and store it as my origin branch head".
"git push $URL refs/heads/master:refs/heads/to-upstream" for
"publish my master branch head as to-upstream master head at
$URL".

Probably we can just say "ref" where we say "refname".

Probably we can just say "ref" where we say "refname".

A fast-forward is where you have a revision and you are
"merging" other's change that happen to be a descendant what you
have.  In such a case, you do not make a new merge commit but
just update to his revision.  That is:

          o---o---o---o his               o---o---o---o his
         /                      ->       /             \
    o---o---o---o yours             o---o---o---o-------* yours

updating to his needs a merge like above, but in this case:

          o---o---o---o his               o---o---o---o his = yours
         /                      ->       /
    o---o yours                     o---o

you just update to his.

A related concept is "being already up-to-date".  In the latter
picture, if he attempts to "merge" your changes and notices he
is simply ahead of you (i.e. his revision is a descendant of
yours), nothing happens.
If some of you are willing to detail/explain/define those
terms (and some others not mentioned here), I would be glad to
collect the definitions and make a "git terminology" document.
Thanks, and what J Bruce Fields already said.

Re: Git terminology

From: Sébastien Pierre <hidden>
Date: 2016-06-15 22:42:22

On Wed, 29 Mar 2006 07:59:16 -0800
Junio C Hamano [off-list ref] wrote:
 
Probably we can just say "ref" where we say "refname".

A fast-forward is where you have a revision and you are
"merging" other's change that happen to be a descendant what you
have.  In such a case, you do not make a new merge commit but
just update to his revision.  That is:

          o---o---o---o his               o---o---o---o his
         /                      ->       /             \
    o---o---o---o yours             o---o---o---o-------* yours

updating to his needs a merge like above, but in this case:

          o---o---o---o his               o---o---o---o his = yours
         /                      ->       /
    o---o yours                     o---o

you just update to his.
Ah, ok. The diagrams are really helpful to get what "fast forward" is.

Thanks !

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