作为git的新手,我正在调查我可以做的各种重置。
我的印象是git reset --soft
不会改变索引或工作目录,它只会改变仓库的头部。
所以我过去曾对提交执行了软重置。
由于我的索引或工作目录都不应该更改,我现在希望git status
说我没有更改,因为我的工作目录中的文件比那些更新在我刚回去的回购中。
然而它告诉我我的修改过的文件在索引中?怎么会这样?我没有犯过他们。软重置是否会改变索引?
答案 0 :(得分:1)
git reset --soft
不会更改索引,因此除非您要移动的提交具有与重置前索引中实际内容相同的内容,否则您的索引将与新{{1}不同提交。根据定义,HEAD
与您的索引之间的差异是分阶段更改。
由于您的索引未更改,如果您没有任何未暂停的更改,您仍然没有未分级的更改。您的工作树和索引之间的差异将与以前相同;两者都没有改变。
(听起来你所期望的实际上是标准HEAD
- 或reset
的作用:移动reset --mixed
,然后更新索引以匹配新HEAD
}。)