2011-12-06 82 views

回答

9

您可以从您的脚本中调用git命令:

commit = `git show --pretty=%H` 
puts commit 

根据您的环境,你可能需要使用的完整路径git的二进制文件,并可能通过环境变量或--git-dir指定GIT_DIR 。

+0

学到新的东西今天,谢谢!不知道你可以使用back-quotes作为shell命令。 –

+0

我没有用它,所以我不能从经验中建议,但你可以使用[砂砾(https://github.com/mojombo/grit),如果你想要的东西,更OO。 –

+0

亚伦,被认为是砂砾,但这是一个比我的简单使用更为复杂的解决方案。 –

1

我假定你想在你的HTML应用程序版本的地方?先决条件是您要以默认方式(使用Capitrano上传回购站点,而不是发送存档文件)部署您的回购。

您可以到Rails的初始化添加一些代码为outlined here。该方法将从上次提交中获取SHA1,并将其作为环境变量提供。

的另一种方式来做到这一点是有你Capistrano的任务产生在公共目录中提交SHA静态文件在里面。您可以在此文件中包含其他信息,这似乎很有用。

+0

使用capistrano 3,只需在当前文件夹中阅读REVISION文件即可。 – barbacan

15

像@meagar说,使用反引号从您的应用程序中执行shell命令,但你会发现这两个命令的更多有用:

完整的哈希值:

git rev-parse HEAD 

哈希的前7个字符:

git rev-parse --short HEAD