git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git rm --cached should be git rm --cache or git rm --stage

From
ZHZenaan Harkness <zen@freedbms.net>
Date
Aug 20, 2016, 07:22 UTC
Message-ID
<20160820072214.GB24992@x220-a02>
  Please CC me :)
From man git-rm:
--cached
  Use this option to unstage and remove paths only from the index.
  Working tree files, whether modified or not, will be left alone.
This wording is unclear and dangerous, and ought be cleaned up somehow.
Probably also the option name should change.

See here for examples of community self-help compensating for git-rm man page's particularly bad wording: http://stackoverflow.com/questions/6919121/why-are-there-2-ways-to-unstage-a-file-in-git

I suggest:
 - change "--cached" to "--cache" at the least (allow both)
 - probably deprecate --cached and add "--stage" to replace it
 - perhaps change the wording in the man page above to something similar
   as on the stackoverflow page above,
   e.g.:
   "Removes a file from the index. In the case where the file is already
   in the repo, git rm --cached will remove the file from the index,
   leaving it in the working directory and a commit will now remove it
   from the repo as well. Basically, after the commit, you would have
   unversioned the file and kept a local copy."
   or perhaps something like:
   "does not unstage a file, it actually stages the removal of the
   file(s) from the repo (assuming it was already committed before) but
   leaves the file in your working tree (leaving you with an untracked
   file)"

The git "stage" is a primary concept, and a primary noun (one reason many of us have come to appreciate git), and git's cmd line options and help docs ought reflect this.

Thanks, Zenaan

Next: Zenaan Harkness
Message 1 of 6 in “git rm --cached should be git rm --cache or git rm --stage”
  1. Zenaan HarknessAug 20, 2016
  2. Zenaan HarknessAug 20, 2016
  3. Junio C HamanoAug 20, 2016
  4. Philip OakleyAug 20, 2016
  5. Zenaan HarknessAug 20, 2016
  6. Philip OakleyAug 20, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.