【问题标题】:Git cherry-pick and sha-1 valueGit cherry-pick 和 sha-1 值
【发布时间】:2016-01-20 12:04:53
【问题描述】:

https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project 中的示例展示了如何在树枝上进行樱桃采摘。在此示例中,是否完整使用了 commit 的 sha-1 值?

$ git cherry-pick e43a6fd3e94888d76779ad79fb568ed180e5fcdf

cherry-pick 是否不允许像 e43a6 这样的短 sha-1 值,所以以下是有效的?

$ git cherry-pick e43a6

【问题讨论】:

    标签: git sha1 cherry-pick


    【解决方案1】:

    是的,但提供的 SHA sn-p 必须标识唯一的 refspec。 看这里:How much of a git sha is *generally* considered necessary to uniquely identify a change in a given codebase?

    【讨论】:

      【解决方案2】:

      是的,您可以在任何可以使用长哈希的地方使用短值。不确定使用完整哈希的文档背后的意图,但 git cherry-pick e43a6 也可以。

      短哈希指南:

      完整的 SHA-1 对象名称(40 字节十六进制字符串),或前导 在存储库中唯一的子字符串。例如。 dae86e1950b1277e545cee180551750029cfe735 和 dae86e 名称相同 如果您的存储库中没有其他对象,则提交对象 对象名称以 dae86e 开头。

      https://git-scm.com/docs/gitrevisions

      奖金:

      默认短散列长度为 7 个字符:

      git rev-parse --short e43a6fd3e94888d76779ad79fb568ed180e5fcdf
      e43a6fd
      

      【讨论】:

        猜你喜欢
        • 2012-06-29
        • 2013-11-18
        • 1970-01-01
        • 1970-01-01
        • 2012-06-24
        • 2011-10-27
        • 1970-01-01
        • 2016-02-11
        • 2012-09-06
        相关资源
        最近更新 更多