git checkout [commit-name] 与带点的比较

ksg*_*566 5 git git-checkout

git checkout [commit-name]和 和有什么区别
git checkout [commit-name] .

我看到第一个命令更改为分离的头状态,您可以从那里提交并继续创建一个新分支。

我对第二个命令的作用感到困惑。它保留在主服务器上,但将所有文件恢复到指定提交时的状态。为什么会这样呢?您可以用它做什么以及在什么情况下使用它?

goo*_*ber 2

in是标准 UNIX 通配符.git checkout [commit-name] .表示当前目录。假设您使用的是 UNIX 系统(或基于 UNIX 的终端,如 git bash),并且您正在从项目的根目录运行该命令,那么您实际上是在说替换当前工作状态中的文件(相对于您当前的文件夹)位置)与指定提交的位置。

我的理解是,该git checkout [commit-name]命令会将您移至该提交。您将返回到项目或另一个分支的上一个快照。我确信它有很多怪癖和功能,但这超出了这个答案的范围。看来你对这个命令已经足够理解了。

因此,一个点,你就不会移动到任何地方,但如果没有一个点,你就可以移动

无论如何,回到刚刚git checkout [commit-name] .我认为它有用的一种情况是,如果您想用该提交替换您的整个工作。也许您犯了一个可怕的错误,或者完成了一些您不想实际使用的代码的实验。如果您知道其提交编号(您可以使用 找到它),这可能是自上次提交以来重置的一种方法git log