git rm --cached file vs git reset file

GitGit ResetGit Rm

Git Problem Overview


I'm trying to learn Git. I'm confused between

git rm --cached file

and

git reset file

both of the commands seem to take the file from staged to un-staged area. How do the commands differ?

Git Solutions


Solution 1 - Git

git rm --cached <file> will completely remove the file's contents from the index. This means that on commit the file will be removed from the HEAD commit. (If the file was only added to the index and not yet tracked this is a "no-op".)

git reset -- <file> resets the contents of the file in the index to be the same as the head commit. This means that on commit no changes will be committed to the file. This operation is not valid if there is no tracked version of the file in the HEAD commit.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionVihaan VermaView Question on Stackoverflow
Solution 1 - GitCB BaileyView Answer on Stackoverflow