git checkout [commit-name]和 和有什么区别
git checkout [commit-name] .?
我看到第一个命令更改为分离的头状态,您可以从那里提交并继续创建一个新分支。
我对第二个命令的作用感到困惑。它保留在主服务器上,但将所有文件恢复到指定提交时的状态。为什么会这样呢?您可以用它做什么以及在什么情况下使用它?
in是标准 UNIX 通配符.,git checkout [commit-name] .表示当前目录。假设您使用的是 UNIX 系统(或基于 UNIX 的终端,如 git bash),并且您正在从项目的根目录运行该命令,那么您实际上是在说替换当前工作状态中的文件(相对于您当前的文件夹)位置)与指定提交的位置。
我的理解是,该git checkout [commit-name]命令会将您移至该提交。您将返回到项目或另一个分支的上一个快照。我确信它有很多怪癖和功能,但这超出了这个答案的范围。看来你对这个命令已经足够理解了。
因此,有一个点,你就不会移动到任何地方,但如果没有一个点,你就可以移动。
无论如何,回到刚刚git checkout [commit-name] .。我认为它有用的一种情况是,如果您想用该提交替换您的整个工作。也许您犯了一个可怕的错误,或者完成了一些您不想实际使用的代码的实验。如果您知道其提交编号(您可以使用 找到它),这可能是自上次提交以来重置的一种方法git log。
| 归档时间: |
|
| 查看次数: |
385 次 |
| 最近记录: |