Re: Consistent terminology: cached/staged/index
- From
- Pete Harlan <pgit@pcharlan.com>
- Date
- Feb 14, 2011, 03:09 UTC
- Message-ID
- <4D589CE0.7020203@pcharlan.com>
- In-Reply-To
- <7v8vxjwnhj.fsf@alter.siamese.dyndns.org>
On 02/13/2011 02:58 PM, Junio C Hamano wrote:
Show 13 quoted lines
>> --staged
>> ~~~~~~~~
>> diff takes --staged, but that is only to support some people's habits.
> The term "stage" comes from "staging area", a term people used to explain
> the concept of the index by saying "The index holds set of contents to be
> made into the next commit; it is _like_ the staging area".
>
> My feeling is that "to stage" is primarily used, outside "git" circle, as
> a logistics term. If you find it easier to visualize the concept of the
> index with "staging area" ("an area where troops and equipment in transit
> are assembled before a military operation", you may find it easier to say
> "stage this path ('git add path')", instead of "adding to the set of
> contents...".FWIW, when teaching Git I have found that users immediately understand "staging area", while "index" and "cache" confuse them.
"Index" means to them a numerical index into a data structure. "Cache" is a local copy of something that exists remotely. Neither word describes the concept correctly from a user's perspective.
I learned long ago to type "index" and "cached", but when talking (and thinking) about Git I find "the staging area" gets the point across very clearly and moves Git from interesting techie-tool to world-dominating SCM territory. I'm surprised that that experience isn't universal.
--Pete