【问题标题】:Git Concepts - Distinction between Head and Latest CommitGit 概念 - 头部和最新提交之间的区别
【发布时间】:2021-12-09 16:39:51
【问题描述】:

过去使用过包括 TFS 在内的各种版本控制系统,文件修订的整个概念总是很容易解释和掌握。例如,如果我想引用最新版本的文件,我只需要确定列出的最新变更集(或该特定 vcs 使用的任何术语),就差不多了。很简单。

我是 Git 的相对新手,因此随着 TFS 到 Azure DevOps 的过渡,我真的觉得在 Git 中处理文件版本控制的概念很困惑。我有几个问题可能最好用下面的截图来描述。

例如,

  1. 什么是 HEAD,它与最新提交的区别是什么?

  2. 为什么 HEAD id 与上一个提交 id 不同,当针对这两个 id 运行的文件比较表明它们相同时?在我的例子中,下图中的 anda 分别是 43593c12f493628c

.

【问题讨论】:

    标签: azure-devops versioning changeset azure-repos gitversion


    【解决方案1】:

    Git 中的 HEAD 本质上是本地存储库的提交指针。

    这里需要注意的最重要的一点是,HEAD 是主观的(本地范围),并且通常会因存储库的每个克隆而异。

    Git 中最新提交的概念是模棱两可的,因为 Git 是一个分布式系统 - 因此“最新”没有明确定义。

    一般来说,如果您是 Git 新手,我建议您花 1-2 周的时间彻底阅读 Git Book - https://git-scm.com/book/en/v2

    针对您当前的问题,请查看The Three StatesBranching basics

    【讨论】:

    • 非常感谢@taleodor。很好的反馈。肯定会阅读推荐的材料。
    猜你喜欢
    • 2011-03-07
    • 2013-12-23
    • 2011-06-08
    • 2012-03-23
    • 2016-04-24
    • 2018-08-08
    • 2019-05-17
    • 2012-06-02
    • 1970-01-01
    相关资源
    最近更新 更多