在 bash 脚本中使用 git 描述和解析值作为字符串



当我做一个git push live master时,我想在服务器端使用git describe来检查版本,但是当下面的执行时,变量是空的?

由于存储库是裸露的,也许我无法访问它,或者在接收后我无法执行或其他什么?

#!/bin/sh
currentVersion=`git describe --abbrev=0`
echo $currentVersion
mkdir /var/www/example/public_html/projects/$currentVersion
git --work-tree=/var/www/example/public_html/projects/core --git-dir=/var/repo/cool.git checkout -f

我也试过这个

#!/bin/sh
currentVersion=$(git describe --abbrev=0)
echo $currentVersion
mkdir /var/www/example/public_html/projects/$currentVersion
git --work-tree=/var/www/example/public_html/projects/core --git-dir=/var/repo/cool.git checkout -f

而这个

#!/bin/sh
currentVersion="${git describe --abbrev=0}"
echo "{$currentVersion}"
mkdir /var/www/example/public_html/projects/"{$currentVersion}"
git --work-tree=/var/www/example/public_html/projects/core --git-dir=/var/repo/cool.git checkout -f

编辑:我试图回应这个echo $(git describe)结果是fatal: No names found, cannot describe anything.。不幸的是,我认为我无法在我的服务器上执行该命令。如果是这种情况,我可以通过 git push 传递数据(可能需要调查一下)吗?

检查一下:如何在裸 git 存储库上运行 git 描述?

如果您确实没有任何标签,但想测试您的钩子,请将您的 git 命令更改为类似

currentVersion=$(git describe --always)

此外,请确保挂钩具有执行权限。

这就是

我需要git push live --tags

相关内容

  • 没有找到相关文章

最新更新