2012-09-30 112 views
3

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

我一直在想,因为我使用Git(和GitHub)我可以使用一些在每次提交时生成的元数据? 我怎么能做到这一点?

注:我想避免使用命令行的东西,因为我目前的托管不会允许我这样做。

+3

是的,我相信你可以。你的问题是什么? – hakre

+0

我的问题是“如何?”。我已经更新了它。 –

+1

那么git *是*命令行。所以,我想说一个更好的建议。如果你的主机不允许使用git,你又该如何使用git? – hakre

回答

6

添加一个git钩子在您的应用的根文件夹中创建一个txt文件,以跟踪当前部署代码的版本(或标签,或其他)。

只需30秒。例如(谷歌搜索更多的细节和如何使用git的钩子)放在.git/hooks文件夹中的文件名为pre-commit,并添加这个shell代码:

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

我喜欢这个想法,你可以进入更多的细节? –

+1

你有没有考虑过自己做任何研究,给出一个出发点?例如,请看['githooks'](http://www.kernel.org/pub/software/scm/git/docs/githooks.html)。 – Amber

+0

我这样做! '#/ bin/sh的 RM version.txt -i 混帐REV-解析--short HEAD >> version.txt 混帐添加version.txt' –

0

如果用Capistrano的部署,一个非常严重的可能性是阅读来自网站底部的'REVISION'文件。如果你从一个git仓库部署,它将是提交SHA。

+0

我设法获取通过提交SHA文件系统。不是很漂亮,但比没有好! –