【问题标题】:Generate a version number of my site with git?用 git 生成我网站的版本号?
【发布时间】:2012-09-21 19:07:34
【问题描述】:

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

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

注意:我想避免使用命令行的东西,因为我当前的主机不允许我这样做。

【问题讨论】:

  • 是的,我相信你可以。你有什么问题?
  • 我的问题是“如何?”。我已经更新了。
  • 好吧 git is 命令行。所以提出一个更好的建议,我会说。另外,如果您的主机不允许,您如何使用 git?
  • 我正在使用自动拉出我的 git 的主机。 engineyard.com/products/orchestra

标签: php git versioning


【解决方案1】:

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

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

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

【讨论】:

  • 我喜欢这个主意,你能说得更详细些吗?
  • 你有没有考虑过自己做任何研究,给定一个起点?以man githooks 为例。
  • 我这样做了:#!/bin/sh rm version.txt -i git rev-parse --short HEAD >> version.txt git add version.txt
【解决方案2】:

如果您使用 Capistrano 进行部署,一种非常严重的可能性是从站点底部读取“REVISION”文件。如果你从 git repo 部署,它将是提交 SHA。

【讨论】:

  • 我设法通过文件系统检索了提交 SHA。看起来不是很漂亮,但总比没有好!
猜你喜欢
  • 2015-12-27
  • 2014-09-18
  • 2015-10-12
  • 2010-10-18
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多