Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用git生成我的站点的版本号?_Php_Git_Versioning - Fatal编程技术网

Php 用git生成我的站点的版本号?

Php 用git生成我的站点的版本号?,php,git,versioning,Php,Git,Versioning,我正在构建一个PHP/Yii应用程序。在不同机器上进行开发和测试时,我希望能够在页脚中快速查看我看到的版本是否是最新的。所以基本上我想在每次修改某个东西时生成某种版本号 我在想,既然我使用Git(和GitHub),我就可以使用每次提交时生成的一些元数据? 我怎样才能做到这一点 注意:我希望避免使用命令行工具,因为我当前的主机不允许我这样做。添加一个git钩子,在应用程序的根文件夹中创建一个txt文件,以跟踪当前部署的代码的版本(或标记,或任何内容) 只要30秒。示例(搜索google以获取更多详

我正在构建一个PHP/Yii应用程序。在不同机器上进行开发和测试时,我希望能够在页脚中快速查看我看到的版本是否是最新的。所以基本上我想在每次修改某个东西时生成某种版本号

我在想,既然我使用Git(和GitHub),我就可以使用每次提交时生成的一些元数据? 我怎样才能做到这一点


注意:我希望避免使用命令行工具,因为我当前的主机不允许我这样做。

添加一个git钩子,在应用程序的根文件夹中创建一个txt文件,以跟踪当前部署的代码的版本(或标记,或任何内容)

只要30秒。示例(搜索google以获取更多详细信息以及如何在git中使用钩子)将名为
pre-commit
的文件放入
.git/hooks
文件夹,并添加以下shell代码:

#!/bin/sh
rm version.txt -i
git describe --tags >> version.txt
git add version.txt

如果使用Capistrano部署,一个非常严重的可能性是从站点的底部读取“修订版”文件。如果您从git repo部署,它将是commit SHA。

是的,我相信您可以。你的问题是什么?我当时的问题是“如何?”。我已经更新了,git是命令行。所以我要说,提出一个更好的建议。另外,如果你的主机不允许,你如何使用git?我使用的主机会自动提取我的git。我喜欢这个想法,你能详细介绍一下吗?你有没有考虑过自己做一些研究,给出一个起点?举个例子,我这样做了:
#/bin/sh rm version.txt-i git rev parse--short HEAD>>version.txt git add version.txt
我设法通过文件系统检索commit SHA。不是很好看,但总比没好看!