首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么git-描述在提交ID前加上字母'g'?

为什么git-描述在提交ID前加上字母'g'?
EN

Stack Overflow用户
提问于 2014-05-29 17:22:39
回答 1查看 3.7K关注 0票数 35

git-describe的典型输出如下

代码语言:javascript
复制
some-tag-32-gf31f980

其中some-tag是标记名,32表示所描述的提交在使用该标记提交后为32次提交,而gf31f980则表示提交ID唯一地缩写为f31f980

我的问题是关于g in gf31f980。它为什么在那里?我的第一个想法是插入它来消除git-describe输出的歧义分析。但我想不出在任何情况下拥有它真的会有帮助。例如,可以省略32组件,并且无法知道上面的输出描述在标记some-tag之后提交32次,而不是在标记some-tag-32处提交。但g对此毫无帮助。

只提取提交ID的regex匹配可以搜索/-g([0-9a-f]+)$/。简化这一点没有简单的方法;例如,您不能执行/-g(.*)$/,因为这可能会错误地匹配标记名中的g。没有g,您仍然可以执行/-([0-9a-f]+)$/,因此g对您没有帮助。非正则表达式解析过程将表现出类似的行为。

g是显式生成的;相关的源代码(builtin/describe.c的第240行)是:

代码语言:javascript
复制
static void show_suffix(int depth, const unsigned char *sha1)
{
        printf("-%d-g%s", depth, find_unique_abbrev(sha1, abbrev));
}

很难搜索到有关这方面的信息,因为相关术语g是一个死胡同。

g是做什么用的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 17:27:39

Jesse立即在Twitter上指出:这个问题是在手册页中回答的

"g“前缀表示"git”,用于根据软件管理的SCM来描述软件的版本。

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23939214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档