问题标签 [git-describe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - “git describe”忽略标签
在以下几行中:
谁能解释为什么“git describe”不使用v2.0标签,以及如何解决这个问题?v2.0标签已经推送了,所以我猜我不能只是删除并重新添加它。
git - 我应该将 Git 合并到 Master 中,然后在标记后返回吗?
问题是:在我将其合并并标记后,如何获得正确的版本(用 显示git describe
)develop
master
master?
我使用通用 git 分支 -master
用于生产。假设 show on和,与git describe
shows合并后。
所以我创建了一个新的带注释的标签,因此现在显示.1.5
master,
develop,
master
1.5-234-g1e894af
git tag -a 1.6
git describe master
1.6
但是:git describe develop
仍然显示1.5-something
,这对我来说很奇怪-它具有与中相同的提交master
-为什么 Git 认为它仍然属于1.5
版本?
没有什么比这更好的了,所以我只是将master合并到develop,然后develop显示1.6-2-...
可接受的版本,但会产生1个更多无用的合并提交,并警告我“递归合并”我也认为没有意义做,但是如何实现正确的版本呢?
git - 从远程仓库获取最后一个 git 标签,无需克隆
如何从(未签出)远程仓库中获取最后一个标签?
在我使用的本地副本上describe
但我不能describe
与远程存储一起使用
git - GIT 从“git describe”的输出中检出代码
我正在考虑使用git describe
生成自动版本号。正如这里建议的那样。
我的问题是,如果我得到git describe
as的 o/p v2.0-64-g835c907
,将来如何使用 git 签出该特定修订号?
git - Git描述给不同的标签
我已经用标签“Release_V1.0.0.4”标记了我的存储库。但这是我从“git describe”和“git describe origin”得到的。
[root pds_series]# git describe
Release_V1.0.0.2-22-g0859de9
[root pds_series]# git describe origin
Release_V1.0.0.2-18-gce2b24c
使用“git describe --all”和“git describe --tags”我得到了正确的标签。
[root pds_series]# git describe --all
标签/Release_v1.0.0.4
[root pds_series]# git describe --tags
发布_v1.0.0.4
另外,通过以下命令,我得到了正确的标签。
[root pds_series]# git log --pretty=format:'%ad %h %d' --abbrev-commit --date=short -1
2012-11-15 0859de9(HEAD,Release_v1.0.0.4,master)
有谁知道这背后的原因?我该如何解决这个问题?
git - 为什么`git describe -dirty`在描述干净结账时要添加`-dirty`后缀?
我刚刚发现了这个--dirty
选项git describe
,它看起来应该做一些非常有用的事情,即git describe
在工作树脏时的输出中附加一个后缀,但是在我的一些存储库中似乎并非如此:
我认为这可能是因为工作目录相对于 tag很脏,但似乎也不是这样:
hg id
当我使用 Mercurial时,我曾经广泛使用过,并且喜欢它的默认行为是为+
它为脏存储库报告的任何提交哈希添加后缀,因此一直在寻找git
等效的东西,但git describe --dirty
没有t 似乎做了我所期望的文档:
我是否误解了--dirty
应该做什么,或者我没有正确使用它?
万一有什么不同,所有的 git 存储库都通过buckminster部署,因此不涉及子模块,文件系统是nfs
共享的。
更新:我发现了一种解决方法,但我完全不知道这可能会产生什么影响。
如果我git diff --quiet HEAD
在 repo 上运行,那么突然之间就会git describe
像我预期的那样工作:
我还发现,当git describe
报告存储库dirty
时,gitk
还显示“本地未提交的更改,未签入索引”,然后列出工作目录中的每个文件,但没有针对它们的差异,只有---- filename ----
行。
进一步更新:由于这仍然是一个问题,我最终编写了一个git-describe-dirty
脚本,该脚本首先运行,git describe --dirty
但如果它发现存储库很脏,则git update-index -q --refresh
在再次尝试并获取第二个结果之前运行。
当迭代数百个存储库时,与每次git describe-dirty
运行相比,使用并仅运行最初表明它是脏的存储库的索引更新可以节省大量git update-index -q --refresh ; git describe --dirty
时间。
git-tag - 相对于特定标签的 git 版本
我们在 repo 中使用了多个标签标识符。例如。ABC-1.3.5.234 和 DEF-1.2.1.25。describe 命令给了我几乎我想要的东西:
git 描述 --long
ABC-1.3.5.234-33-死牛肉
但我真的很想知道相对于我历史上最新的 DEF 标签的值。有没有办法指定我想使用哪个标签作为计算相对距离的基础?我可以用正则表达式吗?
git - 如何使用 git describe 的输出获取日志
我想git describe
在我的程序中使用 的输出,所以如果出现问题,我可以很容易地追踪到发生了什么修订。
输出类似于:v2.12-20-g22290d9
我知道我可以checkout
很容易地做到这一点,但是如何使用git log
或类似工具跟踪日志?
git - Git:如何在同一提交上有2个/多个标签时获取签出标签的名称
- 我有一个带有 2 个标签的 git commit,如下所示:
commit1-----tagA,tagB
- 结帐“tagA”
git checkout tagA
问题:如何获取当前结账的标签名称?我试过
git describe
了,但它总是返回名称“tagB”,期望返回“tagA”。似乎
git describe
只能返回最近的标签名,见git 手册该命令查找可从提交中访问的最新标记。如果标签指向提交,则只显示标签。否则,它会在标记名称的后缀加上标记对象顶部的附加提交数量和最近提交的缩写对象名称。
还有其他方法吗?
目的与此问题相关:
我想让文件从标签名称自动构建版本号,git describe
当 1 个带有 1 个标签的提交时效果很好,但在上述情况下它没有用。
git - 是否有表格强调这些 git 命令之间的区别?
这些 git 子命令似乎有一些重叠:
- 描述
- 转解析
- 名称-rev
- 符号引用
- 显示参考
某处是否有一张漂亮的桌子可以强调其中一些人不能做的事情?它应该包括:
- 故障指示
- 读/写
- 输出细节的灵活性
- 列出所有或一个
- 搜索/精确