`git reset HEAD file`也检查文件?

时间:2011-07-22 12:44:15

标签: git

我错误地将一个目录添加到git中,当我按照提示here通过执行git reset HEAD <file>来撤消添加时,我惊恐地发现其中一个文件的当前工作副本,有很多变化(工作!),恢复到以前的版本!

结果我失去了几个小时的工作...... :((

我认为仅git reset HEAD <file>将其从当前索引 without changing anything else 中删除。我错过了什么?

git reset HEAD <file>是否还应检出来自HEAD的文件?

我怎样才能最大限度地减少将来再次出现这种情况的可能性?

2 个答案:

答案 0 :(得分:16)

只有git checkout -- <file>应该还原之前统计信息中的文件。 git reset HEAD <file>应该只取消暂存文件,而不是还原其内容。

答案 1 :(得分:2)

git reset从索引中取消暂存文件。也许您之后添加了--hard选项或使用了git checkout

引用git-reset手册页:

  

git reset [-q] [&lt; commit&gt;] [ - ]&lt; paths&gt; ...              此表单将所有索引条目重置为其状态。 (它不会影响工作树,也不会影响当前分支。)