“git reset --hard”和“git checkout”有什么区别?

Cra*_*hax 6 git

当我想对我的项目进行一些更改并且想返回到上次提交的状态时,我可以使用这两个选项。他们实际上做同样的事情还是他们之间有什么区别?

Tim*_*sen 3

这是两个命令之间的区别:

git checkout .
Run Code Online (Sandbox Code Playgroud)

这告诉 Git 从当前分支中检出当前文件夹(无论是什么),并用它替换工作文件夹。但这并不影响工作文件夹的其他区域,也不涉及舞台。

git reset --hard
Run Code Online (Sandbox Code Playgroud)

这会将整个工作目录阶段重置为当前分支的 HEAD。您可以将其视为有效地消除自上次提交以来发生的所有事情。

一般来说,硬重置是您不会经常使用的,而从不同位置检查文件/文件夹则更为常见。