如何在浏览器中获取当前的git标签/分支/修订版?

时间:2013-02-26 13:33:40

标签: git

我有一个使用git的项目。我可以通过ssh访问webserver,我可以执行命令:

git log --decorate

它将向我提供有关该服务器上当前部署的内容的信息。但如果有人没有这种访问权限,他们应该总是让我检查。

我正在考虑在每个git log --decorate之后或在我签出任何标签时生成带git pull转储或任何其他命令的文件的解决方案。每个人都可以通过网址{website}/current-version.html访问。

我想我应该使用git hooks或者有一个更简单的解决方案? 我该如何实现呢?

2 个答案:

答案 0 :(得分:1)

如果你想显示git log输出,那么最好使用post-receive钩子。

如果您想显示一个可能更加用户友好的版本号,那么我建议: -

  • 一个post-receive挂钩,显示当前发布版本的标签名称(假设您标记版本)
  • 将current-version.html放入您的git仓库,以便随着git pull
  • 更新

答案 1 :(得分:1)

如果你的服务器是git repo的克隆并且你正在使用标签,那么 git describe 将使用最新的标签并给出一个偏移量:

$ git describe --long
r1.0-2-gca93d0a

在上面,最后一个标签是 r1.0 2 表示我们是超过该标签的两次提交, g (代表'git')和当前哈希 ca93d0a 跟随。

$ git log --oneline
ca93d0a Add info on testing.
949d558 Fixes to get wsdl2java working.
d0a02b1 Initial CXF.

从这里可以看出,标签 r1.0 指向 d0a02b1 提交:

$ git show-ref --dereference r1.0 | tail -1
d0a02b1488154b052fed9d568f3823d15567ebb5 refs/tags/r1.0^{}