git - 当我们 git checkout 提交时会发生什么

标签 git git-checkout

我想知道我们是否使用 git checkout <commit hash>并且提交在多个分支中,我们如何知道哪个分支被 checkout ?

我不知道如何在视觉上做到这一点,所以我试着画了一点图,对此感到抱歉。
我不允许直接发布它,所以这里有一个链接。
如果我们有这三个分支,那么我们 git checkout <Commit Z> ,我们会得到分支 A 还是分支 B? 它是如何工作的?谢谢!

/image/Y3wJr.png

最佳答案

git checkout <commit>HEAD在此提交时,无论任何分支可能指向或不指向所述提交。

工作树会相应更新,您会得到所谓的 detached HEAD。 .从这一点开始的进一步提交确实会将 HEAD 作为其父级,但在您创建一个分支(或在此处创建一个现有的一个点)之前,不会指向它的分支。

关于git - 当我们 git checkout 提交时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59878883/

相关文章:

eclipse - 如何从 Eclipse 中现有的 maven 项目创建 git 项目?

git - 多用户git开发环境

git - git 工作目录在哪里?

git - 如何只获取特定分支的 Git 日志?

git - 由于 ssh 和 https 连接的私有(private) git 存储库,npm 安装失败

git - 让 git 显示正在运行内容过滤器的特定文件名

eclipse - 如何在不提交更改的情况下在 Eclipse 中切换分支

gitignore - 在 checkout 时 stash 被忽略的文件

N 天前的 Git checkout 存储库

visual-studio-2015 - Visual Studio 2015 Git 错误消息 "Cannot pull/switch because there are uncommitted changes"