4

githubから最新のgithubコミット番号を自動的にインポートするにはどうすればよいですか?

目標は、SOが日付で行うように、その番号をWebページのフッターに表示することです。

構造は何ですか

Capistranoを使用してデプロイされた本番ブランチがあります。最新のgithubコミット番号と、デプロイされた日付を表示したいと思います。

4

2 に答える 2

5

アプリの設定にgemを使用していると仮定してsettingslogic、これをイニシャライザーに配置します。

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

最後のgitcommitSHAがSettings.git_revisionあり、commitdateが。になりSettings.git_updateます。

さらに、最後のタグを取得できます。

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

で利用できるようになりますSettings.git_tag

アップデート:

小さなrubygemgit-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 に答える