From: Pete Harlan Date: Mon, 14 Feb 2011 03:09:20 GMT Subject: Re: Consistent terminology: cached/staged/index 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: >> --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