git rm --cached 文件 vs git 重置文件

标签 git git-reset git-rm

我正在努力学习 Git。我很困惑

git rm --cached file

git reset file

这两个命令似乎都将文件从暂存区带到未暂存区。这些命令有何不同?

最佳答案

git rm --cached <file>将从索引中完全删除文件的内容。这意味着提交时文件将从 HEAD 中删除犯罪。 (如果文件仅添加到索引中但尚未跟踪,则这是“无操作”。)

git reset -- <file>将索引中文件的内容重置为与头提交相同。这意味着在提交时不会对文件进行任何更改。如果 HEAD 中没有文件的跟踪版本,则此操作无效提交。

关于git rm --cached 文件 vs git 重置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12661306/

相关文章:

git - 如何在 Git 中安全地保存用户名和密码

git - 如何撤消分支推送到 master

git - 如何撤消 git reset --soft 以取回我的更改?

git - "git rm --cached x"与 "git reset head --​ x"?

git - 在TortoiseGit中,哪个是MERGE_HEAD,哪个是HEAD?

Git:如何将相同的修改应用到另一个分支?

git - 为什么在我没有配置签名时源代码树会查找 gpg key ?

git - 运行 "git checkout origin/main"后意外从本地文件夹中删除文件

git - 更改 .gitignore 时,所有开发人员都需要运行 `git rm --cached <path>` 吗?

git - 暂存删除的文件