4

如何自动从 github 导入最新的 github 提交号?

目标是让该数字在您的网页页脚上可见,就像 SO 对日期所做的那样。

什么结构

我有一个使用 Capistrano 部署的生产分支。我想显示最新的 github 提交号,以及它的部署日期。

4

2 回答 2

5

假设您使用 gemsettingslogic进行应用程序设置,请将其放入您的初始化程序中:

git_log = `git log -1 --pretty="format:%H %ci"`
if git_log =~ /^([\d\w]+?)\s(.+)$/
  Settings[:git_revision] = $1
  Settings[:git_update]   = $2.strip
end

您将拥有最后一次 git commit SHA inSettings.git_revision和 commit date in Settings.git_update

此外,您可以获得最后一个标签:

git_tag = `git describe --tags --abbrev=0`
Settings[:git_tag] = git_tag.strip if git_tag

它将在Settings.git_tag.

更新:

我发布了一个小的 ruby​​ gem git-revision。有了它,您可以简单地执行以下操作:

"commit: #{Git::Revision.commit} date: #{Git::Revision.date}"
于 2011-12-14T08:25:06.617 回答
0

作为可能的解决方案,您可以在带有git smudge|clean 过滤器的(通用)解决方案中看到(阅读“关键字扩展”部分)

于 2011-12-14T19:47:22.023 回答