git checkout 命令带有 <paths> [...] 参数,用于将修改或删除的路径从索引中恢复为其原始内容,或者用来替换路径为命名(通常是提交号)的内容。 详见文档,特别是此处和此处:在您的情况下,. 被视为 <pathspec>,表示当前目录。所有给定 <pathspec> 中文件的当前 HEAD 版本,也就是您基础目录下的所有文件,都会被检出。
git checkout <path>
不会撤销对 仓库 的更改,而是替换 工作树 中的文件。仓库 是 Git 提交的底层数据库。工作树(通常与任何给定的仓库克隆相关联)是您使用和编辑计算机正常处理的文件形式,而不是 Git 的特殊内部形式。 - torek