以下用于撤消本地文件更改的命令之间有什么区别?
git checkout HEAD <file>
git reset <file>
git checkout -- <file>
答案 0 :(得分:2)
从git-checkout中我们可以看到1.和3.相同。同样,工作树和索引都将更新:
git checkout [
] [-] ... 通过替换
中的内容[..](通常是一次提交)来覆盖工作树中的路径。给出 时,与 匹配的路径会同时在索引和工作树中更新。
从git-reset,我们看到只有索引被更新:
git reset [-q] [
] [-]… [...]将条目从
复制到索引。