问题标签 [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`显示“警告:标签'xxx'在外部称为'refs/tags/xxx'”?
我正在尝试使用git describe
来检索当前分支的最新标签名称,但我在输出中遇到了意外警告。
如前所述,本地标签没有refs/tags
前缀:
但是,我不确定为什么会收到警告或我能做些什么。
标签没有被删除和重新创建,也没有被重命名。
标签是从我们的构建环境 (Jenkins) 创建的。
我可以做些什么来纠正或解决警告吗?
编辑:
git - 为什么 git describe 挑选出它所做的标签
我正在为我正在为其工作的公司开发一个内部 Web 应用程序。它托管在一个私有的 github 存储库上,但我的大部分开发工作都是在家里的 linux 桌面上完成的,为此的 Web 服务器托管在公司办公室的一个小型树莓派上。它本质上是 nginx 前端将 /api url 代理到 pm2 支持的 nodejs 应用程序。
git push
我从我家通过 ing 到 github 存储库并git pull
在服务器中配置生产分支来进行部署。一个git hook
post-commit
脚本在临时停止生产 api 服务器之前在构建目录中运行 npm install,复制 node_modules 目录并运行一个脚本,该脚本本质上git describe --abbrev=0 --tags
是获取版本号并将其存储在一个.env
文件中,以便生产服务器向其宣布其版本客户。
如果我在家里运行 git describe 它会给出版v4.2.2
本,但在诊所我得到了v4.1.17
,我不明白为什么
在下图中,左侧部分是gitk --all
我的家庭存储库中的输出,并且在诊所中只有终端访问权限,您可以从右侧部分看到几乎相同的图表使用git log
- 缺少与任何一个都不相关的提交master
或production
分支。v4.2.2 只有两次提交,而 v4.1.17 至少有 10 次。
为什么 git describe 的行为方式是这样的?
编辑:我有点知道答案 - 在服务器上有一个提交后挂钩最终在分支上进行提交,即使它不应该 - 它只应该在开发机器上进行.