threads / discuss / 64604

About --staged ang --cached

Subject: About --staged ang --cached

## tl;dr

3 messages between Dec 9, 2025 and Dec 10, 2025.

replies: 2people: 3as markdown or json

Lucas Seiki Oshiro· Dec 9, 2025, 19:03 UTC · lore
Hi!

Even though the name "cache" is considered obsolete for a long time (for example, gitglossary calls it "obsolete" since 2005 [1]), there are some commands that still uses the flag --cached to operate on the index (e.g. git-rm, git-grep), while newer commands (e.g., git-restore, git-stash) use --staged. git-diff is special case where both flags exist and they are synonyms since [2].

Personally, I'm used to type `git diff --staged` instead of `--cached`, and my muscle memory often makes me type `git rm --staged` instead of `git rm --cached`.

Do you think that it would be relevant to add --staged to the other commands just like [2] did to git-diff? Perhaps this is just a personal issue, but I find it curious that those commands still have a flag named after an obsolete name while newer commands are using --staged.

Thanks!

[1] f1671ecbfa ([PATCH] Assorted changes to glossary, 2005-08-18) [2] 2baf1850ce (git-diff: Add --staged as a synonym for --cached., 2008-10-29)

Junio C Hamano· Dec 9, 2025, 23:06 UTC · re: Lucas Seiki Oshiro · lore

Re: About --staged ang --cached

Lucas Seiki Oshiro <lucasseikioshiro@gmail.com> writes:
> Do you think that it would be relevant to add --staged to the other
> commands just like [2] did to git-diff? Perhaps this is just a personal
> issue, but I find it curious that those commands still have a flag named
> after an obsolete name while newer commands are using --staged.

As long as "Only in the index" aspect of the name is kept, I do not think the exact phrasing matters all that match. The distinction between "apply --cached" vs "apply --index" must be expressable even if you swap "--cached" with something else.

Would it be simpler to remove the label "obsoleted" from the name, and remove the "--staged" synonym?

Jacob Keller· Dec 10, 2025, 02:13 UTC · re: Junio C Hamano · lore

Re: About --staged ang --cached

On Tue, Dec 9, 2025 at 3:07 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 16 quoted lines
>
> Lucas Seiki Oshiro <lucasseikioshiro@gmail.com> writes:
>
> > Do you think that it would be relevant to add --staged to the other
> > commands just like [2] did to git-diff? Perhaps this is just a personal
> > issue, but I find it curious that those commands still have a flag named
> > after an obsolete name while newer commands are using --staged.
>
> As long as "Only in the index" aspect of the name is kept, I do not
> think the exact phrasing matters all that match.  The distinction
> between "apply --cached" vs "apply --index" must be expressable even
> if you swap "--cached" with something else.
>
> Would it be simpler to remove the label "obsoleted" from the name,
> and remove the "--staged" synonym?
>

I think it makes more sense to add a --staged synonym to commands with --cached, than to go back the other way.

← back to recent threads