# About --staged ang --cached

3 messages from 2025-12-09 to 2025-12-10. Participants: Lucas Seiki Oshiro, Junio C Hamano, Jacob Keller.
Thread: https://gitlist.dev/t/64604

## Lucas Seiki Oshiro, 2025-12-09 19:03

Subject: About --staged ang --cached
Message-ID: <FD2160CA-DD56-4BDE-92B4-0859C3BD2396@gmail.com>
URL: https://gitlist.dev/e/FD2160CA-DD56-4BDE-92B4-0859C3BD2396%40gmail.com

```
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, 2025-12-09 23:06

Subject: Re: About --staged ang --cached
Message-ID: <xmqqpl8ni7bo.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqpl8ni7bo.fsf%40gitster.g
In-Reply-To: <FD2160CA-DD56-4BDE-92B4-0859C3BD2396@gmail.com>

```
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, 2025-12-10 02:13

Subject: Re: About --staged ang --cached
Message-ID: <CA+P7+xr6HHCXsiXi=CDm=rccNO4b6gmjLbuWt4KLAEwSs20aww@mail.gmail.com>
URL: https://gitlist.dev/e/CA%2BP7%2Bxr6HHCXsiXi%3DCDm%3DrccNO4b6gmjLbuWt4KLAEwSs20aww%40mail.gmail.com
In-Reply-To: <xmqqpl8ni7bo.fsf@gitster.g>

```
On Tue, Dec 9, 2025 at 3:07 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> 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.

```
