2011-12-06 49 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